zoukankan      html  css  js  c++  java
  • memset的用法

    memset的功能是将一块内存中的内容以单个字节逐个拷贝的方式放到指定的内存中去。
    如memset(dp,0,sizeof(dp))其中dp为一个int型数组,因为int为4个字节,那么每一个字节的位置上都放 00000000 最后放的就是 
    00000000 00000000 000000000 00000000 将该二进制转化为10进制后为0
    如果放-1 。则放的是 11111111 11111111 11111111 11111111 (每一个8位是-1的补码。)转化为十进制后也是-1

    如果放1 。则放的是 00000001 00000001 00000001 00000001 转化为十进制后显然不为1

    如果放127 。(127的二进制表示是01111111)则放的是01111111 01111111 01111111 01111111 转化后是2139062143这样就可以讲数组初始化为一个很到的值

    但是如果放128 (128的二进制是10000000)则放的是10000000 10000000 10000000 10000000 (转化为十进制)

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

     补码 10000000 10000000 10000000 10000000

     反吗 10000000 10000000 10000000 01111111

    原码 11111111 01111111 01111111 10000000

    这个数是-2139062144。这样就可以讲数组初始化为一个很小的数。
  • 相关阅读:
    Linux thread 泄露问题
    QQ通讯原理
    小谈Onlinegame服务器端设计
    Linux 如何打开端口
    linux系统软件更新
    MVC
    wubi+ubuntu
    [转]openfire源码部署~
    Apache开源项目分类列表[转]
    [转]java.util.MissingResourceException: Can't find bundle for base name
  • 原文地址:https://www.cnblogs.com/tristatl/p/6741305.html
Copyright © 2011-2022 走看看