c - 为什么有符号的 char min -128 而不是 -127?
问题描述
内存中的单数以第一位定义符号的方式表示。我以 char 为例(也是最简单的类型),但这也涉及其他带符号的数据类型。
14 = 00001110
由于第一个数字是正数,所以第一位是 0。最大有符号字符表示如下:
127 = 01111111
简单地把第一位改成负数似乎是合理的,但是其他7位仍然只能代表127的个数(如果不考虑第一位的话)。那么如何存储-128?
解决方案
-128 将表示为10000000
(看起来像 -0,但这是表示 0 的冗余方式)。
推荐阅读
- typescript - .map() 不是打字稿中的函数
- c# - 如何在按钮的两侧放置图标
- docker - Dockerfile JBOSS 不访问本地
- python - 切片字典的值
- c# - 如何将基于角色的授权添加到现有的 ASP.NET Web 应用程序
- r - Plor 与 R - ggplot - 线图 - 化学分析 - Schöller 图
- selenium - Selenium Python find_element_by_class_name
- c# - 如何在 Xamarin Forms Platform 上点击 android 按钮时删除动画/阴影效果
- php - Laravel 5 命名约定 - Broker VS Manager
- terraform - 尝试将 Terragrunt (terraform) 与 Okta 一起使用