windows - SByte(有符号)是 16 位而不是 8 位的 sbyte 最小值
问题描述
我试图理解为什么 SByte 类型(AKA:signed char)是 16 位而不是 8 位。
$base = 2
# 8-bit (char et unsigned char)
$("byte : " + [byte]::MinValue.ToString() + " to " + [byte]::MaxValue.ToString())
$bin = [Convert]::ToString([byte]::MaxValue, $base).PadLeft(8, "0")
$($bin.Length.ToString() + "," + $bin)
$bin = [Convert]::ToString([byte]::MinValue, $base).PadLeft(8, "0")
$($bin.Length.ToString() + "," + $bin)
$("sbyte : " + [sbyte]::MinValue.ToString() + " to " + [sbyte]::MaxValue.ToString())
$bin = [Convert]::ToString([sbyte]::MaxValue, $base).PadLeft(8, "0")
$($bin.Length.ToString() + "," + $bin)
$bin = [Convert]::ToString([sbyte]::MinValue, $base).PadLeft(8, "0")
$($bin.Length.ToString() + "," + $bin)
输出:
sbyte:-128 到 127(有符号 8 位) 01111111 0x7f 1111111110000000 0xff80
如果这是由于二进制补码,这是我的操作系统还是硬件级别?
解决方案
推荐阅读
- nginx - 无法在 centos7 中运行的乘客上部署烧瓶应用程序
- powershell - 当文件包含特定单词时移动文件?
- python - 如何防止使用 SqlAlchemy 在数据库连接上获取特定表
- jquery - Ajax 调用超出服务器的并发会话限制?
- wordpress - 为 wordpress 前端创建聊天机器人类型的应用程序
- android - 使用 javafxports 在 Android 6.0.1 lenovo tablet 10" 上阻止通信线程
- excel - 在 Excel 中合并文件时出现空行问题
- r - 如何为 Rcpp 类提供自定义生成器/构造器?
- c++ - Priority_queue 排序错误,如何解决?
- google-translate - 翻译不带空格的网址