Course
未读
81830746888232686cfb15d22a6f4a2abca85b9c4796bc96b111f487476e5be08d23a994a740c272da39e0754cd9ea98995a02fc90bae7ba1164ba125741cd9d8bf3adbdf6b2bbdcad03c596801624aa3cc9e9c47b06354efda3db09d4e90e608b803096feca9d26ad36a23d192b63493ac1f69907dd30a6c1adf27b9253727c6e35f1afefa152ff1fe7583d2c10bfccaa6ecb807254aaa5316098952200d4700205f488eb4556a1d075deadebfbea10322484d9fe999920ed869cfc7c324f08bfc2a7d27d032552355429ae121d7a65024478feb2a6c93e714f3279e382db96462ba968fa15739abacd8bd4029d2ffd5ad3f3cf8623cdef2 ...
81830746888232686cfb15d22a6f4a2abca85b9c4796bc96b111f487476e5be093fe167ce9eeb38df4b9f556f1a6c62d57068df676a7f666f59af7d04f44a7f9c9a5e9a269910bb71305a015be6a141f12d07ba2d90b050aa4c6a380be99090c3be60b5ea707e7ec9708537d120a6478d1926bcfa48990bb7fb7523cd941fdcf7898059580b379c3ddcc524ce560f7c91e3faa553e1fde208989d94bee7a1572f9480b4d3bddd0969cdc223c1448a927322befaea66506f396efc50ba7914a6aa3362563ff606078c3d53b5177531f5d382d6295f3b92a96b101d9f0276010ee640be7347285a74470ce9fbc4a7e05bc818fcbc1c4dc6cfaa ...
81830746888232686cfb15d22a6f4a2ae05b95dd6bfb71261e169fb30724f441252f0eec30647f3e308cf8a00bce12fd66fa35c6a6f3133c6abfd667f6795dac23e6d5ae1cfba838d7ce7da1e8c18dff22cc45152c7a6b08d4a24a91d0684fe25b3378938c3fab57c1b907b6e42e392957abd85f30e44685866f75907db5f8a63eaa83cc168289a01bd1bbbfbd3140497870d4a7a4d03cf5f235ac0706f15db16b56a62c3435c1709b4d5f6f0dbc769c8a102e4814cf927e402eb6275871c66415a849b72c06749c3fc55d9e77cb3f2f71aecc1cb60687b163cd7f09d7b47e3bce62f11a9293335a0c279eaaf2f79243871a085d8b6b8fc32 ...
指针与引用、数组前缀区别指针和引用是C++中的两个重要概念,它们都用于间接访问变量或对象的值,但它们在使用上有一些关键的区别:
1. 定义与语法
指针:指针是一个变量,用于存储另一个变量的内存地址。可以通过*操作符访问指针所指向的值。指针的定义方式如下:12int a = 10;int* p = &a; // p 是一个指针,指向 a 的地址
引用:引用是一个变量的别名,一旦引用被创建,它就不能再指向其他变量。引用的定义方式如下:12int a = 10;int& r = a; // r 是 a 的引用,即 r 和 a 指向相同的变量
2. 是否可以重新赋值
指针:指针可以在程序的不同地方指向不同的变量或对象,即指针的值(所指向的地址)可以改变。12int b = 20;p = &b; // 现在 p 指向 b 的地址
引用:引用在初始化后无法改变,一旦引用一个变量,就不能再引用其他变量。12int b = 20;r = b; // 这里不是改变引用,而是将 b 的值赋给 a(因为 r 是 a 的别名)
3. 空引用和空指针
指针:指针可以是空指针(null ...
源码反码和补码机器数与真值机器数,即数字在计算机中的二进制表示形式。真值,第一位用+-表示数字的正负,其余为二进制数。举个栗子:-3的机器数是10000011,真值是-0000011。
原码原码,符号位加真值的绝对值。
12+3[原] = 00000011-3[原] = 10000011
8位二进制数原码的取值范围是[11111111, 01111111],即[-127, 127]
反码正数的反码是其原码。负数的反码,符号位不变,其余各位取反,即1变成0,0变成1。
12+3[反] = 00000011[原] = 00000011[反]-3[反] = 10000011[原] = 11111100[反]
8位二进制数反码的取值范围是[11111111, 01111111],即[-127, 127]
补码正数的的补码是其原码。负数的补码,是其反码+1。
12+3[补] = 00000011[原] = 00000011[反] = 00000011[补]-3[反] = 10000011[原] = 11111100[反] = 11111101[补]
反码和补码均不能直接看出其实际的数值 ...