鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: Tzdner_C

求帮俺解释下这个很蛋疼的问题?

  [复制链接]
发表于 2012-9-22 01:42:33 | 显示全部楼层
本帖最后由 贝壳 于 2012-9-22 02:32 编辑

要想理解标志位,需要学习一下汇编。我也只是看了点教程,按照自己的理解大概给你说一下吧,说的不好请勿见怪。
一个标志位其实只需要是一个字节里的一位:像八位二进制数0000 0001,每一个位都可以是一个标志位,不同的系统可以对应不同的设计。对应于电子学的知识,0和1其实只表示那个位置的高低电位。如果追根朔源的话,相当于最古老的计算机的一个个开关,0或1分别表示开关闭合或断开,所以计算机只需要一个字节的一位做为标志位,就可以对一系列数据进行控制。所以一个字节可以有8个标志位,不够用就多用几个字节。而ccqiji说的:
定义一个 一个位就置1
所以定义两个静态是3  3个静态是7
其实就是:0000 0001,0000 0011,0000 0111            三个二进制,分别对应1,3,7
至于65536,对应二进制 0001 0000 0000 0000 0000,其实只是把一个位置置1了,因为只定义了一个静态变量。而为什么要把它置于第17位使它输出后等于65536,可能是操作系统和编译器共同作用的结果吧。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-22 01:44:14 | 显示全部楼层
楼主,这个帖子应该申精。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 02:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表