精华内容
下载资源
问答
  • 24位有符号数转32位有符号数最简单方法 最近第一次用24位ADC,用SPI读取的数据是24位有符号数。    众所周知,数据的最高位是符号位,那么24位数据的第24位是符号位,而在C语言中24位数据只能用32位变量存储,32位...

    24位有符号数转32位有符号数最简单方法

    最近第一次用24位ADC,用SPI读取的数据是24位有符号数。
      
      众所周知,数据的最高位是符号位,那么24位数据的第24位是符号位,而在C语言中24位数据只能用32位变量存储,32位变量的符号位很明显在第32位,直接赋值是不会有负数的。
      
      网上看了很多方法,什么用指针,什么把24位数据分成3个8位,什么取反再+1,乱七八糟一堆不说,代码又长,居然还有很多文章的结果算出来是错的,差点被他们绕进去。
      
      那么问题来了
      
      24位数据转为32位数据是怎么回事呢?24位数据相信大家都很熟悉,但是24位数据转为32位数据是怎么回事呢,下面就让小编带大家一起了解吧。
      
      24位数据转为32位数据,其实就是负数多余位补1,大家可能会很惊讶24位数据怎么会转为32位数据呢?但事实就是这样,小编也感到非常惊讶。
      
      这就是关于24位数据转为32位数据的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!
        
      程序如下:首先判断这个数是不是负数,如果是负数,则把多余位补1即可。

    int S24toS32(int input)
    {
    	if((input&0x800000)==0x800000)		//如果最高位为1,则是负数
    	{
    		input |= 0xff000000;		//高位补1
    	}
    	return input;
    }
    

    我们输入几个24位数验证一下:
    打印验证
    是不是很简单呢?

    展开全文
  • 我们在使用ADC的时候可能会遇到AD转换结果以24bit、12bit、10bit或诸如此类的补码形式输出,而计算机...假设有一个5bit的有符号数10011(补码),最高的1是符号,这个数的值是-13。而单片机或计算机中并没有5的变

    我们在使用ADC的时候可能会遇到AD转换结果以24bit、12bit、10bit或诸如此类的补码形式输出,而计算机或单片机中,变量类型大多是8bit、16bit、32bit的。那该怎样把这些AD转换得到的补码转换成一个有符号的整数存放在一个有符号变量中呢?

    由于有符号的数在计算机中本来就是以补码形式进行存放,因此不需要进行码制的转换,有一个简单的小技巧可以实现这种功能。
    先来看一个例子:
    假设有一个5bit的有符号数10011(补码),最高位的1是符号位,这个数的值是-13。而单片机或计算机中并没有5位的变量,我们希望能够用一个8位的有符号(char)变量来存放这5位的数,并且不希望改变这个数的大小。那么将这5位数据存放到char型变量的最低5位时,必然会产生3位的空位。对于有符号数来说,进行符号位的扩充可以在不改变数据大小的同时,将这剩余的3个空位填满。对于10011(-13),我们将符号位1进行扩展,得到111 10011,它仍然是-13的补码。对于一个正数,例如00011(正3),对符号位0进行扩展,得到000 00011,它仍然是正3的补码。这也就说明:
    将任意位数的数据,存放在变量的低位,而空余的高位进行符号位扩展,就可以在不改变数据本身大小的情况下,实现将任意位数的数据存放到一个char、short int或int类型的变量中,使之可以被计算机解读成一个有符号的整数
    那么剩下的问题是,在单片机和计算机中怎么实现符号位的扩展呢?下面举例说明:
    假设我们有一个24bit的补码数据,要将其存放至int类型变量中。
    我们定义了:

    int rawValue
    

    然后将这24bit,存放至rawValue的低24位中,那么要进行符号扩展,可以用以下代码实现:

    rawValue= ((rawValue<< 8) >> 8);
    

    有人会说左移8位再右移8位不是相当于什么也没做吗?那么你没明白C语言中右移运算符的含义,可以参考我的另一篇博客https://blog.csdn.net/weixin_44509533/article/details/109080809
    左移8位使得24位数据的最高位(符号位)移动到了rawValue的最高位上,而由于int类型是有符号类型,在用右移运算符进行运算时,实际上是进行算术右移,而算术右移能够保持符号位不变,因此实现了符号位的扩展,最终的效果是rawValue的值与24bit补码数据的值相等,而通过这一操作,我们将24bit补码数据装载进了一个int类型变量中,方便后续对这个有符号整数进行其他处理。

    展开全文
  • ffmpeg将音频文件重采样为8位、16位、32位的命令比较容易查找,但是重采样为24位却非常非常的少。 ffmpeg -i 32.wav -vn -ac 2 -ar 44100 -...-acodec: 设置输出文件音频编解码器,这里为pcm_s24le(小端有符号24位) -

    ffmpeg将音频文件重采样为8位、16位、32位的命令比较容易查找,但是重采样为24位却非常非常的少。

    ffmpeg -i 32.wav -vn -ac 2 -ar 44100 -acodec pcm_s24le -y 24.wav
    -i:  输入文件,这里为 32.wav
    -vn: 输出文件禁用视频流
    -ac: 设置输出文件音频通道的数量,这里为2(双通道)
    -ar: 设置输出文件音频采样率,这里为44100
    -acodec: 设置输出文件音频编解码器,这里为pcm_s24le(小端有符号的24位)
    -y: 无需询问即可覆盖输出文件
    

    ffmpeg支持的编解码有

    Decoders:
     V..... = Video
     A..... = Audio
     S..... = Subtitle
     .F.... = Frame-level multithreading
     ..S... = Slice-level multithreading
     ...X.. = Codec is experimental
     ....B. = Supports draw_horiz_band
     .....D = Supports direct rendering method 1
     ------
     V....D 012v                 Uncompressed 4:2:2 10-bit
     V....D 4xm                  4X Movie
     V....D 8bps                 QuickTime 8BPS video
     V....D aasc                 Autodesk RLE
     V..... amv                  AMV Video
     V....D anm                  Deluxe Paint Animation
     V....D ansi                 ASCII/ANSI art
     V....D asv1                 ASUS V1
     V....D asv2                 ASUS V2
     V....D aura                 Auravision AURA
     V....D aura2                Auravision Aura 2
     V....D avrn                 Avid AVI Codec
     V....D avrp                 Avid 1:1 10-bit RGB Packer
     V....D avs                  AVS (Audio Video Standard) video
     V....D avui                 Avid Meridien Uncompressed
     V....D ayuv                 Uncompressed packed MS 4:4:4:4
     V....D bethsoftvid          Bethesda VID video
     V....D bfi                  Brute Force & Ignorance
     V....D binkvideo            Bink video
     V....D bintext              Binary text
     V....D bmp                  BMP (Windows and OS/2 bitmap)
     V....D bmv_video            Discworld II BMV video
     V....D brender_pix          BRender PIX image
     V....D c93                  Interplay C93
     V....D cavs                 Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)
     V....D cdgraphics           CD Graphics video
     V....D cdxl                 Commodore CDXL video
     V....D cinepak              Cinepak
     V....D cljr                 Cirrus Logic AccuPak
     V....D cllc                 Canopus Lossless Codec
     V....D eacmv                Electronic Arts CMV video (codec cmv)
     V....D cpia                 CPiA video format
     V....D camstudio            CamStudio (codec cscd)
     V....D cyuv                 Creative YUV (CYUV)
     V....D dfa                  Chronomaster DFA
     V..... dirac                BBC Dirac VC-2
     V..... libschroedinger      libschroedinger Dirac 2.2 (codec dirac)
     VF...D dnxhd                VC3/DNxHD
     V....D dpx                  DPX image
     V....D dsicinvideo          Delphine Software International CIN video
     V.S..D dvvideo              DV (Digital Video)
     V....D dxa                  Feeble Files/ScummVM DXA
     V....D dxtory               Dxtory
     V....D escape124            Escape 124
     V....D escape130            Escape 130
     VF...D exr                  OpenEXR image
     V.S..D ffv1                 FFmpeg video codec #1
     VF..BD ffvhuff              Huffyuv FFmpeg variant
     V....D flashsv              Flash Screen Video v1
     V....D flashsv2             Flash Screen Video v2
     V....D flic                 Autodesk Animator Flic video
     V...BD flv                  FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (codec flv1)
     VF...D fraps                Fraps
     V....D frwu                 Forward Uncompressed
     V....D gif                  GIF (Graphics Interchange Format)
     V....D h261                 H.261
     V...BD h263                 H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
     V...BD h263i                Intel H.263
     V...BD h263p                H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
     VFS..D h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
     VF..BD huffyuv              Huffyuv / HuffYUV
     V....D idcinvideo           id Quake II CIN video (codec idcin)
     V....D idf                  iCEDraw text
     V....D iff                  IFF (codec iff_byterun1)
     V....D iff                  IFF (codec iff_ilbm)
     V....D indeo2               Intel Indeo 2
     V....D indeo3               Intel Indeo 3
     V....D indeo4               Intel Indeo Video Interactive 4
     V....D indeo5               Intel Indeo Video Interactive 5
     V....D interplayvideo       Interplay MVE video
     V..X.. j2k                  JPEG 2000 (codec jpeg2000)
     VF...D libopenjpeg          OpenJPEG JPEG 2000 (codec jpeg2000)
     V....D jpegls               JPEG-LS
     V....D jv                   Bitmap Brothers JV video
     V....D kgv1                 Kega Game Video
     V....D kmvc                 Karl Morton's video codec
     VF...D lagarith             Lagarith lossless
     V....D loco                 LOCO
     V....D eamad                Electronic Arts Madcow Video (codec mad)
     VF...D mdec                 Sony PlayStation MDEC (Motion DECoder)
     VF...D mimic                Mimic
     V....D mjpeg                MJPEG (Motion JPEG)
     V....D mjpegb               Apple MJPEG-B
     V....D mmvideo              American Laser Games MM Video
     V....D motionpixels         Motion Pixels video
     V.S.BD mpeg1video           MPEG-1 video
     V.S.BD mpeg2video           MPEG-2 video
     V.S.BD mpegvideo            MPEG-1 video (codec mpeg2video)
     VF..BD mpeg4                MPEG-4 part 2
     V....D msa1                 MS ATC Screen
     V...BD msmpeg4v1            MPEG-4 part 2 Microsoft variant version 1
     V...BD msmpeg4v2            MPEG-4 part 2 Microsoft variant version 2
     V...BD msmpeg4              MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3)
     V....D msrle                Microsoft RLE
     V....D mss1                 MS Screen 1
     V....D mss2                 MS Windows Media Video V9 Screen
     V....D msvideo1             Microsoft Video 1
     V....D mszh                 LCL (LossLess Codec Library) MSZH
     V....D mts2                 MS Expression Encoder Screen
     V....D mvc1                 Silicon Graphics Motion Video Compressor 1
     V....D mvc2                 Silicon Graphics Motion Video Compressor 2
     V....D mxpeg                Mobotix MxPEG video
     V....D nuv                  NuppelVideo/RTJPEG
     V....D paf_video            Amazing Studio Packed Animation File Video
     V....D pam                  PAM (Portable AnyMap) image
     V....D pbm                  PBM (Portable BitMap) image
     V....D pcx                  PC Paintbrush PCX image
     V....D pgm                  PGM (Portable GrayMap) image
     V....D pgmyuv               PGMYUV (Portable GrayMap YUV) image
     V....D pictor               Pictor/PC Paint
     V....D png                  PNG (Portable Network Graphics) image
     V....D ppm                  PPM (Portable PixelMap) image
     V.S..D prores               ProRes
     V.S..D prores_lgpl          Apple ProRes (iCodec Pro) (codec prores)
     V....D ptx                  V.Flash PTX image
     V....D qdraw                Apple QuickDraw
     V....D qpeg                 Q-team QPEG
     V....D qtrle                QuickTime Animation (RLE) video
     V....D r10k                 AJA Kona 10-bit RGB Codec
     V....D r210                 Uncompressed RGB 10-bit
     V..... rawvideo             raw video
     V....D rl2                  RL2 video
     V....D roqvideo             id RoQ video (codec roq)
     V....D rpza                 QuickTime video (RPZA)
     V....D rv10                 RealVideo 1.0
     V....D rv20                 RealVideo 2.0
     VF...D rv30                 RealVideo 3.0
     VF...D rv40                 RealVideo 4.0
     V....D sanm                 LucasArts SMUSH video
     V....D sgi                  SGI image
     V....D sgirle               SGI RLE 8-bit
     V....D smackvid             Smacker video (codec smackvideo)
     V....D smc                  QuickTime Graphics (SMC)
     V....D snow                 Snow
     V....D sp5x                 Sunplus JPEG (SP5X)
     V....D sunrast              Sun Rasterfile image
     V....D svq1                 Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
     V...BD svq3                 Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
     V....D targa                Truevision Targa image
     V....D targa_y216           Pinnacle TARGA CineWave YUV16
     V....D eatgq                Electronic Arts TGQ video (codec tgq)
     V..... eatgv                Electronic Arts TGV video (codec tgv)
     VF..BD theora               Theora
     V....D thp                  Nintendo Gamecube THP video
     V....D tiertexseqvideo      Tiertex Limited SEQ video
     V....D tiff                 TIFF image
     V....D tmv                  8088flex TMV
     V....D eatqi                Electronic Arts TQI Video (codec tqi)
     V....D truemotion1          Duck TrueMotion 1.0
     V....D truemotion2          Duck TrueMotion 2.0
     V....D camtasia             TechSmith Screen Capture Codec (codec tscc)
     V....D tscc2                TechSmith Screen Codec 2
     V....D txd                  Renderware TXD (TeXture Dictionary) image
     V....D ultimotion           IBM UltiMotion (codec ulti)
     VF...D utvideo              Ut Video
     V....D v210                 Uncompressed 4:2:2 10-bit
     V....D v210x                Uncompressed 4:2:2 10-bit
     V....D v308                 Uncompressed packed 4:4:4
     V....D v408                 Uncompressed packed QT 4:4:4:4
     V....D v410                 Uncompressed 4:4:4 10-bit
     V....D vb                   Beam Software VB
     V....D vble                 VBLE Lossless Codec
     V....D vc1                  SMPTE VC-1
     V....D vc1image             Windows Media Video 9 Image v2
     V....D vcr1                 ATI VCR1
     V....D xl                   Miro VideoXL (codec vixl)
     V....D vmdvideo             Sierra VMD video
     V....D vmnc                 VMware Screen Codec / VMware Video
     VF..BD vp3                  On2 VP3
     V....D vp5                  On2 VP5
     V....D vp6                  On2 VP6
     V.S..D vp6a                 On2 VP6 (Flash version, with alpha channel)
     V....D vp6f                 On2 VP6 (Flash version)
     VFS..D vp8                  On2 VP8
     V..... libvpx               libvpx VP8 (codec vp8)
     V...BD wmv1                 Windows Media Video 7
     V...BD wmv2                 Windows Media Video 8
     V....D wmv3                 Windows Media Video 9
     V....D wmv3image            Windows Media Video 9 Image
     V....D wnv1                 Winnov WNV1
     V....D vqavideo             Westwood Studios VQA (Vector Quantized Animation) video (codec ws_vqa)
     V....D xan_wc3              Wing Commander III / Xan
     V....D xan_wc4              Wing Commander IV / Xxan
     V....D xbin                 eXtended BINary text
     V....D xbm                  XBM (X BitMap) image
     V..... xface                X-face image
     V....D xwd                  XWD (X Window Dump) image
     V....D y41p                 Uncompressed YUV 4:1:1 12-bit
     V..... yop                  Psygnosis YOP Video
     V....D yuv4                 Uncompressed packed 4:2:0
     V....D zerocodec            ZeroCodec Lossless Video
     V....D zlib                 LCL (LossLess Codec Library) ZLIB
     V....D zmbv                 Zip Motion Blocks Video
     A....D 8svx_exp             8SVX exponential
     A....D 8svx_fib             8SVX fibonacci
     A....D aac                  AAC (Advanced Audio Coding)
     A....D aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)
     A....D ac3                  ATSC A/52A (AC-3)
     A....D adpcm_4xm            ADPCM 4X Movie
     A....D adpcm_adx            SEGA CRI ADX ADPCM
     A....D adpcm_afc            ADPCM Nintendo Gamecube AFC
     A....D adpcm_ct             ADPCM Creative Technology
     A....D adpcm_ea             ADPCM Electronic Arts
     A....D adpcm_ea_maxis_xa    ADPCM Electronic Arts Maxis CDROM XA
     A....D adpcm_ea_r1          ADPCM Electronic Arts R1
     A....D adpcm_ea_r2          ADPCM Electronic Arts R2
     A....D adpcm_ea_r3          ADPCM Electronic Arts R3
     A....D adpcm_ea_xas         ADPCM Electronic Arts XAS
     A....D g722                 G.722 ADPCM (codec adpcm_g722)
     A....D g726                 G.726 ADPCM (codec adpcm_g726)
     A....D adpcm_ima_amv        ADPCM IMA AMV
     A....D adpcm_ima_apc        ADPCM IMA CRYO APC
     A....D adpcm_ima_dk3        ADPCM IMA Duck DK3
     A....D adpcm_ima_dk4        ADPCM IMA Duck DK4
     A....D adpcm_ima_ea_eacs    ADPCM IMA Electronic Arts EACS
     A....D adpcm_ima_ea_sead    ADPCM IMA Electronic Arts SEAD
     A....D adpcm_ima_iss        ADPCM IMA Funcom ISS
     A....D adpcm_ima_oki        ADPCM IMA Dialogic OKI
     A....D adpcm_ima_qt         ADPCM IMA QuickTime
     A....D adpcm_ima_smjpeg     ADPCM IMA Loki SDL MJPEG
     A....D adpcm_ima_wav        ADPCM IMA WAV
     A....D adpcm_ima_ws         ADPCM IMA Westwood
     A....D adpcm_ms             ADPCM Microsoft
     A....D adpcm_sbpro_2        ADPCM Sound Blaster Pro 2-bit
     A....D adpcm_sbpro_3        ADPCM Sound Blaster Pro 2.6-bit
     A....D adpcm_sbpro_4        ADPCM Sound Blaster Pro 4-bit
     A....D adpcm_swf            ADPCM Shockwave Flash
     A....D adpcm_thp            ADPCM Nintendo Gamecube THP
     A....D adpcm_xa             ADPCM CDROM XA
     A....D adpcm_yamaha         ADPCM Yamaha
     A....D alac                 ALAC (Apple Lossless Audio Codec)
     A....D amrnb                AMR-NB (Adaptive Multi-Rate NarrowBand) (codec amr_nb)
     A....D libopencore_amrnb    OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb)
     A....D amrwb                AMR-WB (Adaptive Multi-Rate WideBand) (codec amr_wb)
     A....D libopencore_amrwb    OpenCORE AMR-WB (Adaptive Multi-Rate Wide-Band) (codec amr_wb)
     A....D ape                  Monkey's Audio
     A....D atrac1               Atrac 1 (Adaptive TRansform Acoustic Coding)
     A....D atrac3               Atrac 3 (Adaptive TRansform Acoustic Coding 3)
     A....D binkaudio_dct        Bink Audio (DCT)
     A....D binkaudio_rdft       Bink Audio (RDFT)
     A....D bmv_audio            Discworld II BMV audio
     A....D comfortnoise         RFC 3389 comfort noise generator
     A....D cook                 Cook / Cooker / Gecko (RealAudio G2)
     A....D dsicinaudio          Delphine Software International CIN audio
     A....D dca                  DCA (DTS Coherent Acoustics) (codec dts)
     A....D eac3                 ATSC A/52B (AC-3, E-AC-3)
     A....D flac                 FLAC (Free Lossless Audio Codec)
     A....D g723_1               G.723.1
     A....D g729                 G.729
     A....D gsm                  GSM
     A....D libgsm               libgsm GSM (codec gsm)
     A....D gsm_ms               GSM Microsoft variant
     A....D libgsm_ms            libgsm GSM Microsoft variant (codec gsm_ms)
     A....D iac                  IAC (Indeo Audio Coder)
     A....D imc                  IMC (Intel Music Coder)
     A....D interplay_dpcm       DPCM Interplay
     A....D mace3                MACE (Macintosh Audio Compression/Expansion) 3:1
     A....D mace6                MACE (Macintosh Audio Compression/Expansion) 6:1
     A....D mlp                  MLP (Meridian Lossless Packing)
     A....D mp1                  MP1 (MPEG audio layer 1)
     A....D mp1float             MP1 (MPEG audio layer 1) (codec mp1)
     A....D mp2                  MP2 (MPEG audio layer 2)
     A....D mp2float             MP2 (MPEG audio layer 2) (codec mp2)
     A....D mp3                  MP3 (MPEG audio layer 3)
     A....D mp3float             MP3 (MPEG audio layer 3) (codec mp3)
     A....D mp3adu               ADU (Application Data Unit) MP3 (MPEG audio layer 3)
     A....D mp3adufloat          ADU (Application Data Unit) MP3 (MPEG audio layer 3) (codec mp3adu)
     A....D mp3on4               MP3onMP4
     A....D mp3on4float          MP3onMP4 (codec mp3on4)
     A....D als                  MPEG-4 Audio Lossless Coding (ALS) (codec mp4als)
     A....D mpc7                 Musepack SV7 (codec musepack7)
     A....D mpc8                 Musepack SV8 (codec musepack8)
     A....D nellymoser           Nellymoser Asao
     A....D libopus              libopus Opus (codec opus)
     A....D paf_audio            Amazing Studio Packed Animation File Audio
     A....D pcm_alaw             PCM A-law / G.711 A-law
     A....D pcm_bluray           PCM signed 16|20|24-bit big-endian for Blu-ray media
     A....D pcm_dvd              PCM signed 20|24-bit big-endian
     A....D pcm_f32be            PCM 32-bit floating point big-endian
     A....D pcm_f32le            PCM 32-bit floating point little-endian
     A....D pcm_f64be            PCM 64-bit floating point big-endian
     A....D pcm_f64le            PCM 64-bit floating point little-endian
     A....D pcm_lxf              PCM signed 20-bit little-endian planar
     A....D pcm_mulaw            PCM mu-law / G.711 mu-law
     A....D pcm_s16be            PCM signed 16-bit big-endian
     A....D pcm_s16be_planar     PCM signed 16-bit big-endian planar
     A....D pcm_s16le            PCM signed 16-bit little-endian
     A....D pcm_s16le_planar     PCM signed 16-bit little-endian planar
     A....D pcm_s24be            PCM signed 24-bit big-endian
     A....D pcm_s24daud          PCM D-Cinema audio signed 24-bit
     A....D pcm_s24le            PCM signed 24-bit little-endian
     A....D pcm_s24le_planar     PCM signed 24-bit little-endian planar
     A....D pcm_s32be            PCM signed 32-bit big-endian
     A....D pcm_s32le            PCM signed 32-bit little-endian
     A....D pcm_s32le_planar     PCM signed 32-bit little-endian planar
     A....D pcm_s8               PCM signed 8-bit
     A....D pcm_s8_planar        PCM signed 8-bit planar
     A....D pcm_u16be            PCM unsigned 16-bit big-endian
     A....D pcm_u16le            PCM unsigned 16-bit little-endian
     A....D pcm_u24be            PCM unsigned 24-bit big-endian
     A....D pcm_u24le            PCM unsigned 24-bit little-endian
     A....D pcm_u32be            PCM unsigned 32-bit big-endian
     A....D pcm_u32le            PCM unsigned 32-bit little-endian
     A....D pcm_u8               PCM unsigned 8-bit
     A....D pcm_zork             PCM Zork
     A....D qcelp                QCELP / PureVoice
     A....D qdm2                 QDesign Music Codec 2
     A....D real_144             RealAudio 1.0 (14.4K) (codec ra_144)
     A....D real_288             RealAudio 2.0 (28.8K) (codec ra_288)
     A....D ralf                 RealAudio Lossless
     A....D roq_dpcm             DPCM id RoQ
     A....D s302m                SMPTE 302M
     A....D shorten              Shorten
     A....D sipr                 RealAudio SIPR / ACELP.NET
     A....D smackaud             Smacker audio (codec smackaudio)
     A....D sol_dpcm             DPCM Sol
     A..X.D sonic                Sonic
     A....D libspeex             libspeex Speex (codec speex)
     A....D tak                  TAK (Tom's lossless Audio Kompressor)
     A....D truehd               TrueHD
     A....D truespeech           DSP Group TrueSpeech
     A....D tta                  TTA (True Audio)
     A....D twinvq               VQF TwinVQ
     A....D vima                 LucasArts VIMA audio
     A....D vmdaudio             Sierra VMD audio
     A....D vorbis               Vorbis
     A..... libvorbis            libvorbis (codec vorbis)
     A....D wavesynth            Wave synthesis pseudo-codec
     A....D wavpack              WavPack
     A....D ws_snd1              Westwood Audio (SND1) (codec westwood_snd1)
     A....D wmalossless          Windows Media Audio Lossless
     A....D wmapro               Windows Media Audio 9 Professional
     A....D wmav1                Windows Media Audio 1
     A....D wmav2                Windows Media Audio 2
     A....D wmavoice             Windows Media Audio Voice
     A....D xan_dpcm             DPCM Xan
     S..... dvbsub               DVB subtitles (codec dvb_subtitle)
     S..... dvdsub               DVD subtitles (codec dvd_subtitle)
     S..... pgssub               HDMV Presentation Graphic Stream subtitles (codec hdmv_pgs_subtitle)
     S..... jacosub              JACOsub subtitle
     S..... microdvd             MicroDVD subtitle
     S..... mov_text             3GPP Timed Text subtitle
     S..... mpl2                 MPL2 subtitle
     S..... pjs                  PJS subtitle
     S..... realtext             RealText subtitle
     S..... sami                 SAMI subtitle
     S..... srt                  SubRip subtitle with embedded timing
     S..... ass                  SSA (SubStation Alpha) subtitle (codec ssa)
     S..... subrip               SubRip subtitle
     S..... subviewer            SubViewer subtitle
     S..... subviewer1           SubViewer1 subtitle
     S..... text                 Raw text subtitle
     S..... vplayer              VPlayer subtitle
     S..... webvtt               WebVTT subtitle
     S..... xsub                 XSUB
    
    展开全文
  • 最近因为要将一个16bit的音频混音算法改成24bit的,复习了有符号数的计算机内的表示方法. 对负数的二进制表示有些遗忘,在网上找了一下资料,贴出来已备再次遗忘: 假设有一个 int 类型的数,值为5,那么,我们...

    最近因为要将一个16bit的音频混音算法改成24bit的,复习了有符号数的计算机内的表示方法.

    对负数的二进制表示有些遗忘,在网上找了一下资料,贴出来已备再次遗忘:

    假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:

    00000000 00000000 00000000 00000101

    5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0

    现在想知道,-5在计算机中如何表示?

     

    在计算机中,负数以其绝对值的补码形式表达

    什么叫补码呢?这得从原码,反码说起。

     

    原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

    比如 00000000 00000000 00000000 00000101 是 5的 原码。

     

    反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

    取反操作指:原为1,得0;原为0,得1。(1变0; 0变1)

    比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。

    称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。

    反码是相互的,所以也可称:

    11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。

     

    补码:反码加1称为补码。

    也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

    比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。

    那么,补码为:

    11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011


    所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB


    再举一例,我们来看整数-1在计算机中如何表示。

    假设这也是一个int类型,那么:


    1、先取1的原码:00000000 00000000 00000000 00000001

    2、得反码:     11111111 11111111 11111111 11111110

    3、得补码:     11111111 11111111 11111111 11111111


    可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF

     

    整理:

     

     

     

    1个字节,不管怎么样只能表示256个数。因为有符号所以我们就把它表示成范围:-128~+127。它在计算机中是怎么储存的呢?

     

      可以这样理解:用最高位表示符号位(如果是0则表示正数,如果是1则表示负数),剩下的7位用来储存数的绝对值的话,能表示2^7个数的绝对值,再考虑正负两种情况,2^7*2还是256个数。首先定义0在计算机中储存为00000000,对于正数我们依然可以像无符号数那样换算,从00000001到01111111依次表示1到127。那么这些数对应的二进制码就是这些数的原码。

      到这里很多人就会想,那负数是不是从10000001到11111111依次表示-1到-127,那你发现没有,如果这样的话,一共就只有255个数了,因为10000000的情况没有考虑在内。实际上,10000000在计算机中表示最小的负整数,就是这里的-128,而且实际上并不是从10000001到11111111依次表示-1到-127,而是刚好相反的,从10000001到11111111依次表示-127到-1。负整数在计算机中是以补码形式储存的,补码是怎么样表示的呢?这里还要引入另一个概念——反码,所谓反码就是把负数的原码(负数的原码和它的绝对值所对应的原码相同,简单的说就是绝对值的原码)各个位按位取反,是1就换成0,是0就换成1,如-1的原码是00000001,和1的原码相同,那么-1的反码就是11111110,而补码就是在反码的基础上加1,即-1的补码是11111110+1=11111111,因此我们可以算出-1在计算机中是按11111111储存的。

      总结一下,计算机储存有符号的整数时,是用该整数的补码进行储存的,0的原码、补码都是0,正数的原码、补码可以特殊理解为相同,负数的补码是它的反码加1。下面再多举几个例子,来帮助理解! 

    十进制 → 二进制  
    47   → 101111 

    有符号的整数    原码    反码    补码 
     +47      00101111  00101111  00101111(正数的补码和原码、反码相同,不能从字面理解) 
     -47       00101111  11010000  11010001(负数的补码是在反码上加1) 

    展开全文
  • 24进制转换为10进制

    千次阅读 2019-05-28 10:02:05
    题目:一个字符串形式表示的24进制数字M,需要转换成10进制数字N,M为无符号数字,可用32位整数存储,以字母0123456789abcdefghijklmn分别表示数字0-23 分析:将24进制的每一位按照乘以其对应的权值,最后将其加...
  • intfloat必然会导致精度丢失,int型是32位,float型也是32位,但是float是由1位符号位+8位指数位+23位小数位组成。 所以float只能有效表示24位以内的int型数据(float一位省略的整数位)当int型是24位以上的...
  • 在Java中,int是32位。一个字节是8位。...所以如果你字节255:11111111并且你想把它表示为一个int(32位),你只需将1复制到左边24次。现在,读取负二进制补码的一种方法是从最低有效位开始,向左移动直到找到...
  • byte int 是由8位 32位的,这样就了两种扩展方式,0扩展 和1扩展,这要取决去最高位(符号位)是0 还是1 这样的话 如果是 1扩展,那前面的24位就全是1了,这样转换过去的 int 跟原 byte是不一样的,所以 ...
  • Java子网掩码与网络标示相互转换

    千次阅读 2016-07-13 17:14:18
    子网掩码通常以下2种格式的表示方法: ... 在IP地址后加上"/"符号以及1-32的数字,其中1-32的数字表示子网掩码中网络标识的长度  如:192.168.1.1/24 的子网掩码也可以表示为 255.255.255.0 public Str
  • 最少词算法:MinimalWordCount 最大Ngram分值算法:MaxNgramScore 9、分词效果评估 运行项目根目录下的脚本evaluation.bat可以对分词效果进行评估 评估采用的测试文本253 3709行,共2837 4490个字符 评估结果...
  • 所谓Base64,就是说选出...第二步,将这24个二进制分为四组,每个组6个二进制 第三步,在每组前面加两个00,扩展成32个二进制,即四个字节。 第四步,根据下表,得到扩展后的每个字节的对应符号,这就是Base64
  • 因为Java 使用2的补码来存储负数,并且因为Java 中的所有整数都是有符号的,这样应用运算符可以容易地达到意想不到的结果。例如,不管你如何打算,Java 用高位来代表负数。为避免这个讨厌的意外,请记住不管高位的...
  • 7.整数反转

    2020-02-04 10:26:47
    给出一个 32 有符号整数,你需要将这个整数中每上的数字进行反转。 示例 1: 输入: 123 输出: 321 思路1:24 ms 13.1 MB。先转换成字符串,再使用int()函数把字符串转换成整数。 class Solution: def ...
  • 1.5.2 数组的维 24 1.5.3 输入数组公式 25 1.5.4 修改数组公式 25 1.5.5 扩展或缩小多单元格数组公式 26 1.5.6 选择数组公式所在区域 27 1.5.7 使用常量数组 27 1.6 创建跨工作表和跨工作簿引用的公式 28 ...
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    当按二、八、十六进制输出时,是按其补码形式输出,最高符号位(正数为0、负数为1)。 所以此法可得到一个负数的补码表示。 (1)按二进制输出 %b或%B %b等价与%B。 %b 12 = 0b1100 %b 0xffffffff = 0b1111 ...
  • 包括自己几年积累下来的,3D显示,STM32系列的STM32F103C8、VE、ZE,F105VC、F107VC 为了不增加麻烦,解压后直接打开“LIBPKG”工程,原理图封装与PCB封装直接对应好了,如果修改好了封装,直接编译工程就好了,...
  • AT89C51内部128个8用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的...
  • 18.两个无符号数进行比较时,可以根据 标志来判断大小。在编写程序时可使用 指令来实现。 19.若执行“DIV BX”,其被除数的高16必须放在 ,低16必须放在 。 20.DAA指令只对 寄存器中的内容进行调整。 21....
  • +100 mV, 16二进制补码(有符号)数据 格式 - 外部检测电阻可设置满量程电流范围 - 输入电流极低,可简化布线 • 电压监视器的总线电压范围宽 - 输入共模电压为0V到32V - 电压测量分辨率为 16 ;功率计算使用的...
  • 071 统计与公司两项业务都往来的客户 150 072 统计语、、外大于90分且总分大于480分的人数 151 073 统计业绩200000元以上的大专或本科学历男性业务员 152 074 统计各级业务员业绩异常的人数 154 ◎...
  • 31.增加文件路径最后的“\”符号 32.计算所得税 33.从工作表第一行的标题文字以数字形式返回所在列号 34.在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和 35.返回 Column 英文字 36.查找...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    • 1个停止校验时),2个Bit(无校验时) 错误检测域 • LRC(纵向冗长检测) 2、RTU模式 当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。...
  • 十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。八进制无符号数的表示范围为0~0177777。十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来...
  • EXCEL函数功能整理版

    2010-05-30 15:56:24
    10 ABS 这个函数是用来计算一个的绝对值,与正负数符号没有关系。 11 ACCRINT 返回定期付息价证券的应计利息。 12 ACOS 返回数字的反余弦值。反余弦值是角度,它的余弦值为数字。返回的角度值以...
  • Excel技巧大全

    2015-05-06 07:21:37
    6. 如何消除缩后的计算误差(微软Office技巧大赛获奖作品) 41 7. 利用选择性粘贴命令完成一些特殊的计算 41 8. Web查询 41 9. 在Excel中进行快速计算 42 10. 自动筛选前10个 42 11. 同时进行多个单元格的运算...
  • 6. 如何消除缩后的计算误差(微软OFFICE技巧大赛获奖作品) 41 7. 利用选择性粘贴命令完成一些特殊的计算 41 8. WEB查询 41 9. 在EXCEL中进行快速计算 42 10. 自动筛选前10个 42 11. 同时进行多个单元格的运算...
  • 设输入的英文短文不超过一行(假设正文最后“.”结束,以“,”或空格分隔,不出现其他符号),编程将所有单词输出,并求其中最长单词的长度,并将该单词输出。 (4)编写一个程序实现如下功能:8裁判为1个...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 219
精华内容 87
热门标签
关键字:

有符号数24位转32位