c语言比特和字节,详解 比特(位,bit),字节(Byte),字符的区别 *(转)

比特(位):英文bit,是计算机晶体管的一种状态(通电与断电).就是0与1,真与假,是计算机最基本的传输单位.

示例:

2bit : 10;

4bit : 1111;

8bit : 1111 1111;

字节:英文Byte

1.是计算机信息技术用于计量存储容量的一种计量单位

1B(Byte) = 8bit;

1KB = 1024B(Byte);

1MB = 1024KB(Byte);

2.换算

1B = 8bit

1B = 1111 1111

1B = 0至255

1B = -128至127

字符:在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。

汉字字符存储需要2个字节。

UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节

bit,byte,char,位,字节,字符 的区别

bit,byte,char,位,字节,字符 的区别 原创文章,未经作者允许,禁止转载!!!

比特(bit)和字节(Byte)

比特(bit)和字节(Byte) 基础的内容就不说了,这里是一个小的学习笔记 比特和字节的写法差异与应用场景 标准的写法中,正如标题中写的那样,是通过大小写来区分比特和字节的:比特的b应该是小写,而字 ...

java里字节与字符的区别

当时学Java的时候没搞懂字节和字符的区别,今天看文件输入输出流的时候觉得是时候彻底把这两个概念弄懂. 首先得知道byte的概念和作用: byte即字节的意思,是java中的基本数据类型,用来申明字节 ...

SQL 中详解round(),floor(),ceiling()函数的用法和区别?

SQL 中详解round(),floor(),ceiling()函数的用法和区别? 原创 2013年06月09日 14:00:21   摘自:http://blog.csdn.net/yueliang ...

C语言字节对齐问题详解(对齐、字节序、网络序等)

首先说明一下,本文是转载自: http://www.cnblogs.com/clover-toeic/p/3853132.html 博客园用的少,不知道怎么发布转载文章,只能暂时这样了. 引言 考虑下 ...

位bit,字节byte,K,M,G(转)

字节是由8个位所组成,可代表一个字符(A~Z).数字(0~9).或符号(,.?!%&+-*/),是内存储存数据的基本单位.1 byte = 8 bit 1 KB = 1024 bytes1 ...

KMP算法详解&&P3375 【模板】KMP字符串匹配题解

KMP算法详解: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt(雾)提出的. 对于字符串匹配问题(such as 问你在abababb中有多少个 ...

位bit——字节Byte???

1.换算 每8个位(bit)组成一个字节(byte) 位bit简写为小写字母“b”,字节Byte简写为大写字母“B” 8*b=1*B 1024*B=1*KB 1024*K=1MB 2.举例 一个英文字 ...

java位 、字节 、字符的梳理

1字节(byte)=8位(bit) char=2字节(这是因为char是Java中的保留字,Java用的是Unicode,所以char在Java中是16位即2个字节的.) 附: String str= ...

随机推荐

fir.im Weekly - 如何进行 Android App 性能优化

关于 Android App 的优化,@anly-jun 用 3 个月完成了这一系列文章,从 性能分析工具 到 ANR .Layout .消除卡顿 到 内存优化.内存分析工具大概十五六篇,并对此做一个 ...

[Linux主机] 优化你的php-fpm(php5.3+)让你的网站跑得更快

从php5.3以后php自带了php-fpm不是和php5.2一样以插件的方式存在了.这给我们带来一个好处502没有那么容易出现了坛子里用linux的绝大多数应该还是在用小军的lnmp的那个包,但是配 ...

Java Web使用Html5 FormData实现多文件上传

前一阵子,迭代一个线上的项目,其中有一个图片上传的功能,之前用的ajaxfileupload.js来实现上传的,不过由于ajaxfileupload.js,默认是单文件上传(虽然可以通过修改源码的方法 ...

JavaScript用typeof判断变量是数组还是对象,都返回object

在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...

Postman使用小技巧

Postman使用小技巧 2017-09-13 目录: 1 自动生成流水号2 保存响应结果 1 自动生成流水号 返回 为了让接口具有幂等性,在设计时,往往有一个字段是唯一的(比如流水号,交易编号等), ...

使用Linux命令行测试网速

安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...

RS485 VS 20mA 电流环

RS485采用差分信号负逻辑,+2V-+6V表示“0”,- 6V-- 2V表示“1”.RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种 ...

linux c/c++ 文件是否存在

linux c/c++ 文件是否存在 #include int FileExist(const char* fname) { return access(fname, ...

杂项:CDN

ylbtech-杂项:CDN CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快 ...

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将字节数组换成字符串,可以使用 sprintf 函数。该函数会将格式化的字符串输出到指定的字符数组。具体的代码如下: ```c unsigned char bytes[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f}; char str[sizeof(bytes)*2+1]; // 字符数组大小为字节数组大小的两倍,加上一个结束符 '\0' // 将字节数组换成字符串 sprintf(str, "%02x%02x%02x%02x%02x", bytes[0], bytes[1], bytes[2], bytes[3], bytes[4]); printf("bytes to string: %s\n", str); ``` 要将字符换成字节数组,可以使用 sscanf 函数。该函数可以从输入字符读取指定格式的数据并存储到指定的变量。具体的代码如下: ```c char str[] = "48656c6c6f"; // 要换的字符串 unsigned char bytes[sizeof(str)/2]; // 字节数组大小为字符串长度的一半 // 将字符换成字节数组 sscanf(str, "%2hhx%2hhx%2hhx%2hhx%2hhx", &bytes[0], &bytes[1], &bytes[2], &bytes[3], &bytes[4]); printf("string to bytes: "); for (int i = 0; i < sizeof(bytes); i++) { printf("%02x ", bytes[i]); } printf("\n"); ``` 需要注意的是,这里使用了格式化字符串来指定字节数组和字符串之间的换格式。%02x 表示以 16 进制形式输出 2 数,不足 2 时用 0 填充。%hhx 表示读取一个无符号 char 类型的变量,并以 16 进制形式存储。同时,在 sscanf 函数需要使用取地址符 & 来传递字节数组的元素。 ### 回答2: C语言字节数组和字符串之间的相互换可以使用一些内置的函数和方法来实现。以下是一种常见的方法: 1. 将字节数组换为字符串: 可以使用C语言的`sprintf`函数来将字节数组换为字符串。`sprintf`函数是一个格式化输出函数,可以将格式化的数据输出到字符。 示例代码如下: ```c unsigned char byteArr[] = {65, 66, 67, 0}; // 字节数组 char str[64]; // 存储换后的字符串 sprintf(str, "%s", byteArr); // 将字节数组换为字符串 printf("换后的字符串:%s\n", str); ``` 2. 将字符换为字节数组: 可以使用C语言的`strcpy`函数将字符串复制到字节数组。`strcpy`函数可以将一个字符串复制到另一个字符。 示例代码如下: ```c char str[] = "ABC"; // 字符串 unsigned char byteArr[64]; // 存储换后的字节数组 strcpy(byteArr, str); // 将字符串复制到字节数组 for(int i = 0; i < strlen(str); i++) { printf("%d ", byteArr[i]); // 输出换后的字节数组 } ``` 请注意,在进行字节数组和字符串的换过程,应确保字节数组的结束符为`'\0'`,并且字节数组和字符串的存储空间要足够容纳换后的数据。 ### 回答3: C语言字节数组和字符串可以互相换。 将字节数组换为字符串时,需要使用字符串结束符'\0'来标识字符串的结束。可以通过将每个字节字符类型相互换,逐个拼接成字符串。例如,假设有一个字节数组arr,其长度为n,可以使用下面的代码将其换为字符串str: ```c char str[n + 1]; // 加1是为了留置给字符串结束符'\0' for (int i = 0; i < n; i++) { str[i] = (char)arr[i]; // 将字节换为字符 } str[n] = '\0'; // 设置字符串结束符 ``` 将字符换为字节数组时,需要使用相反的操作,将字符的每个字符换为对应的字节。同样,需要注意最后一个字节后面要加上'\0'作为结束标志。假设有一个字符串str,可以使用下面的代码将其换为字节数组arr: ```c int n = strlen(str); // 获取字符串长度 unsigned char arr[n + 1]; // 加1是为了留置给字节数组的结束标志'\0' for (int i = 0; i < n; i++) { arr[i] = (unsigned char)str[i]; // 将字符换为字节 } arr[n] = '\0'; // 设置字节数组的结束标志 ``` 需要注意的是,换过程可能需要进行类型换,特别是从字节字符换时,需要将字节的符号考虑在内。另外,在将字符换为字节数组时,需确保字节数组的长度足够大,可以容纳字符串以及结束标志。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值