字节进制关系

二进制按‘位’进行计算,一位就是1bit
8bit = 1byte(字节)
1024byte = 1kb(千字节)
1024kb = 1mb(兆字节)
1024mb = 1gb(吉字节)
1024gb = 1tb
1024tb = 1pt

其中有个神奇的现象即为网速现象,有人经常觉得为啥家里的网速号称50mb/s,但是实际网速却没有到50M每秒呢,这是因为50mb/s实际上是50MBit/s,而我们说的是50Mbyte,所以家里的网速除以8,才能得到我们所想知道的网速大小 50/8=6.25Mbyte/s

### C++ 中字节处理与进制转换 #### 字节的概念及其换算关系 字节(Byte)是计算机信息技术用于计量存储容量的一种单,也表示一些计算机编程语言中的数据类型和网络传输的基本单。通常情况下,一字节由八个组成,即1 Byte = 8 bits。常见的字节换算如下: - 1 KB (Kilobyte, 千字节) = 1024 B - 1 MB (Megabyte, 兆字节) = 1024 KB - 1 GB (Gigabyte, 吉字节) = 1024 MB - 1 TB (Terabyte, 太字节) = 1024 GB 这些换算对于理解文件大小、内存分配等方面非常重要。 #### 进制之间的相互转换方法 在C++中可以方便地实现不同进制间的转换,主要通过内置流操纵器`hex`, `oct`, 和 `dec`来控制输入输出的基数[^2]。下面给出具体的例子说明如何完成十进制到其他进制以及反向的操作。 ##### 使用标准库函数进行进制转换 为了更灵活地执行任意两个整数类型的进制间转换,还可以利用C++的标准模板库(STL),特别是`<bitset>`头文件下的类模板`std::bitset<N>`来进行二进制字符串与其他进制数值之间快速而简单的互转;另外也可以借助于`stringstream`对象配合不同的基底标志符(`ios_base::fmtflags`)达到目的。 ```cpp #include <iostream> #include <iomanip> // For std::setbase(), std::setw() etc. using namespace std; int main(){ int num = 255; cout << "Decimal: " << dec << num << endl; // 输出十进制形式 cout << "Hexadecimal: " << hex << uppercase << num << endl; // 转换成大写的十六进制并输出 cout << "Octal: " << oct << num << endl; // 将其显示成八进制格式 return 0; } ``` 这段程序展示了怎样改变默认的输出模式为特定的进制,并且可以通过设置修饰符如`uppercase`让十六进制字母采用大写形式展示出来。 #### 关于8421码的理解 所谓8421编码是一种BCD(Binary-Coded Decimal)编码方式之一,在这种编码体系下每一都对应着固定的权重值(从右至左依次为1, 2, 4, 8),因此得名8421。它主要用于将一进制数字映射到四二进制上以便更容易地被电子设备识别处理。然而需要注意的是这不是一种通用的数据交换格式而是针对某些应用场景设计的方法[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值