小,整数,单词和字节如何保存数据



我得到这个东西是为了考试,我必须选择哪个申请

  1. 十进制数 146 在计算机中保存为"10010010">
  2. 十进制数 38,069 以"1001010010110101"的形式保存在计算机中
  3. 十进制数 -95 在计算机中保存为"10100001">
  4. 十进制数-32,695在计算机中保存为"1000000001001001">

我必须在smallint,integer,word和byte之间进行选择。

有什么答案和原因吗?

因此,如果没有上下文(特别是您使用的语言(,很难得到明确的答案,但一般来说,整数类型是有符号的,但长度因语言而异,单词/字节是无符号的。

基于此,假设每个条目只有一个答案,我建议:

1( 字节 - 8 位,无符号,范围 0 到 255

2( Word - 16 位,无符号,范围 0 到 65535

3( Smallint - 8 位,有符号,范围 -128 到 127

4( Int - 16 位,有符号,范围 -32768 到 32767

这取决于

几个因素(语言,操作系统,有符号,无符号,定点,浮点...

对于整数:Int 精度 <长精度>

对于浮点数

浮点精度<双精度>

对于十进制:取决于精度和小数位数。

对于计算机,十进制不是浮点数。

这是一个非常大的主题

在末尾的数字可以以二进制格式存储(更紧凑和高效(,也可以以文本格式存储(例如xml,json,csv...(

  1. 146:无符号字节或小字节
    • 无符号字节从 0 到 255,但有符号字节从 -127 到 127
    • 您将获得 8 位,但您可能会假设 msb 被抑制
  2. 38,069:无符号小整数或整数
    • 无符号小(短裤(从 0-65,535 上升,但签名小小从 -32,767 到 32,767
  3. -95:必须是有符号字节
    • 您知道这一点,因为 msb 是 1,因此您可以识别 msb 是什么。 即这里没有抑制的零。
  4. -32,695:必须是签名的小人
    • 与(3(相同的原因,您可以识别符号位,因此您知道msb的位置

最新更新