zoukankan      html  css  js  c++  java
  • memset函数怎么用嘞↓↓↓

    1.我也曾天真的以为 memset(a,0,sizeof(a))中的0可以用任意数替换

    实际上这是错误的

    memset的功能是将一快内存中的内容以单个字节逐个拷贝的方式放到指定的内存中去。

    2.介绍几个常用的

    memset(a,-1,sizeof(a)) 每个都会变为-1

    memset(a,0,sizeof(a)) 每个都会变为0

    memset(a,0xnfnfnfnf,sizeof(a)) 每个都会变为0xnfnfnfnf

    memset(a,0xnf,sizeof(a)) 每个都会变为0xnfnfnfnf (可以看到简化了上面那句) 我们一般用n=3的情况(防止溢出)

    memset(a,0x3f,sizeof(a)) 每个都会变为0x3f3f3f3f (可以看到简化了上面那句)

    memset(a,127,sizeof(a)) 每个都会变为1061109567

    memset(a,63,sizeof(a)) 每个都会变为1061109567 也看到过有人写下面的

    memset(a,127/3,sizeof(a)) 每个都会变为707406378 无穷大的值可采用上面的这些方法

    memset(a,128,sizeof(a)) 每个都会变为-2139062144 无穷小的值 

    解释: 128 (128的二进制是10000000)

    则放的是10000000 10000000 10000000 10000000 (转化为十进制)

    因为最高位是1 所以是负数,因为这是补码,还原成原码

    补码 10000000 10000000 10000000 10000000

    反码 11111111 01111111 01111111 01111111 符号位不变,按位取反

    原码 11111111 01111111 01111111 10000000 +1

    ---------------------

    作者:god_speed丶

    来源:CSDN 原文:https://blog.csdn.net/qq_38677814/article/details/80771514

    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    我总结的面试题系列:kafka
    RabbitMQ大厂面试题
    [Algorithm] 并查集
    [LintCode] 编辑距离
    [LeetCode] Length of Longest Fibonacci Subsequence
    [LintCode] 交叉字符串
    [LeetCode] Permutation Sequence
    Permutation Sequence
    [LeetCode] Next Permutation
    [LeetCode] Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/ljy-endl/p/11236200.html
Copyright © 2011-2022 走看看