变量问题
来源:互联网 发布:淘宝在线客服咨询 编辑:程序博客网 时间:2024/05/20 19:09
变量问题:
用变量来操纵内存的方式;
1: int num = 13;//如何解释这句代码?
2: num = -9; //解释这句?
解释第1行的代码:
第1点:在赋值号的左边int num;java编译器根据数据类型int,给这个变量在栈区分配4个字节的内存,但内存中没有初始值;
第2点:如何操纵这块内存,给这个内存块起一个名字,叫num,那么之后就可以用num来操纵这个内存块;
第3点:在赋值号的右边,用13这个常量给这个内存块赋值,怎么赋的值,即13以内存中是如何存放的?
首先了解在内存只有0和1
接着了解字节与0和1的关系,一个字节由8个二进位组成,字节byte,位bit
1 byte = 8 bits,0和1都是属于位级别的
比如正整数13,在内存中的存储方式为:
1
1
1
0
1
如果在程序中用num获取存储的值时,同样转换为10进制数;
第4点,用-9来代替原来的值13时,在内存块中是如何存储的?
对于负整数在内存中的存储方式有点复杂,存储原码和补码之分:
原码:符号位为最高位,0正1负,则-9的原码:
100000000000000000000000000000001001
补码,从原码得到补码的方式是,除去符号位外,每个二进制位取反,之后加1;
111111111111111111111111111111110111
0 0
- 变量问题
- 变量问题
- for()变量问题
- 表变量问题
- 时间变量问题
- 变量存储问题
- 变量名的问题
- 变量初始化的问题
- Javascript变量问题
- 变量存放地址问题
- 变量引用问题
- 变量的初始化问题
- 变量初始化问题
- 临时变量问题
- RAISERROR 提示变量问题
- 变量分配空间问题
- 局部变量问题
- 变量存放问题
- 程序员推荐书籍
- Boost智能指针——shared_ptr
- 谈谈JavaScript的异步实现
- 是否有好用的ip地址库可以推荐
- Home+Work (华为入职前练习)
- 变量问题
- 单片机C语言程序该这样写!不是教科书上教的那样
- shell脚本学习总结-----第一篇
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- android SDK manager 不能 Fetching 的解决方法
- VMware虚拟机文件夹中各文件作用详解
- LBS 查询附近的方法
- Boost智能指针——weak_ptr
- iOS多线程编程之NSOperation和NSOperationQueue的使用