MIPS에서 부호없는 정수로 작업 할 때, 수행하는 모든 연산이 부호가없는 경우에도 부호가없는 하나인데도 모든 연산 결과에 부호가 남습니다 (즉, 정수는 모두 2의 보수입니다) : 네 번째 ...부호없는 숫자에 대한 MIPS 연산이 부호있는 결과를 얻는 이유는 무엇입니까?
[2^31, 2^32 - 1]
범위의 숫자를 인쇄 할 때 'overflowed'음수 값이 서명 된 것처럼 보입니다. 나는 이런 식으로 뭔가를하려고 할 때
비록, :
li $v0, 1
li $a0, 2147483648 # or any bigger number
syscall
인쇄 된 숫자는 내가 무엇을 놓치고 ... 항상 내가 혼란 스러워요 2147483647 (2^31 - 1)
입니까?
추신 : 어셈블리 코드와 같이 매우 읽기 어려운 코드를 포함하지 않았으므로이 문제를 제쳐 놓고 이 정상적으로 작동하는 것 같습니다. 누군가가 필요하다고 느끼면 즉시 포함시켜야합니다! Wikipedia에서
나는 인터넷을 통해 대답을 찾고 있었다. 감사! – dankilman
그런데 왜 "checked and unchecked"대신에 "signed and unsigned"라는 용어를 사용합니까? – dan04
이름이 잘못되었습니다. 첫 번째 견적을 읽으십시오. –