相关疑难解决方法(0)

签名与无符号整数

我是否正确地说有符号和无符号整数之间的区别是:

  1. 无符号可以保持较大的正值,而不是负值.
  2. 无符号使用前导位作为值的一部分,而带符号版本使用最左侧位来标识数字是正数还是负数.
  3. 有符号整数可以包含正数和负数.

还有其他差异吗?

language-agnostic unsigned signed integer

378
推荐指数
11
解决办法
35万
查看次数

计算机如何区分整数是签名还是未签名?

两个补码被设置为使计算机更容易计算两个数的减法.但计算机如何区分整数是有符号整数还是无符号整数?它的内存只有0和1.

例如, 1111 1111在计算机中,存储器可以表示数字255,但也可以表示-1.

storage unsigned signed

10
推荐指数
2
解决办法
2720
查看次数

对于无符号数和有符号数的补码,哪些算术运算是相同的?

我正在设计一个简单的玩具指令集和随附的模拟器,并且正在尝试找出支持哪些指令。在算术方面,我目前有无符号加法、减法、乘法和除法。但是,我似乎无法找到以下问题的明确答案:哪些算术运算符需要签名版本,哪些算术运算符的无符号和补码签名版本等效?

例如,1111 的补码等于 -1。如果你加 1 并假装它是一个无符号数,你会得到 0000,即使将其视为 -1,这也是正确的。然而,这对所有数字都适用吗?那么其他三个运算(减法、乘法、除法)呢?

binary instruction-set instructions twos-complement

7
推荐指数
2
解决办法
2458
查看次数

为什么我们要用addiu代替addi?

在MIPS组件中,使用addiuover有addi什么好处?是不是addiu未签名的(会破坏我们的计算?)

assembly unsigned add mips immediate-operand

5
推荐指数
1
解决办法
1万
查看次数

x86上的有符号和无符号算术实现

C语言有签名和无符号类型,如char和int.我不确定,它是如何在汇编级别实现的,例如在我看来,有符号和无符号的乘法会带来不同的结果,因此汇编执行无符号和有符号算术或仅执行一次,这在某种程度上是模拟的不同的情况?

c algorithm math x86 integer-arithmetic

4
推荐指数
2
解决办法
4261
查看次数