Latin1、位运算符、0UL和1UL

本文介绍了ISO-8859-1(也称Latin1)编码,它是单字节编码,向下兼容ASCII,广泛用于西欧语言。此外,文章还探讨了位操作符,包括与(&)、或(|)、异或(^)和求反(~),这些在计算机科学中用于处理二进制数据。在编程中,例如在MySQL中,ISO-8859-1编码的特性有时会被利用。同时,解释了在Keil编译器中如何处理位移操作和类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

57.Latin1

是ISO-8859-1的别名,有些环境下写作Latin-1。ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。
SO-8859-1收录的字符除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。欧元符号出现的比较晚,没有被收录在ISO-8859-1当中。
因为ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题。这是个很重要的特性,MySQL数据库默认编码是Latin1就是利用了这个特性。ASCII编码是一个7位的容器,ISO-8859-1编码是一个8位的容器。

58.

位于(&):两个运算对象的对应位置都是1,则运算结果中该位为1,否则为0;
位或(|):两个运算对象的对应位置至少有一个为1则运算结果中该位为1,否则为0;
位异(^):两个运算对象的对应位置有且只有一个为1,则运算结果中该位为1,否则为0;
位求反(~):0变1,1变0;

59.

0UL 表示 无符号长整型 0
1UL 表示 无符号长整型 1

在keil编译器中,类似(1<<31)是编辑器自动生成的临时变量,默认是有符号的,需要强制转换成无符号的。需要写成(1UL<<31),1UL就将1强制转换成无符号长整型了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半月斩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值