タグ

bitに関するyassのブックマーク (31)

  • 1バイトが8bitに定まったのは2008年 - Qiita

    はじめに 【2022/02/03追記】 Twitterで、1バイトは何ビットかというのが話題に上り、この記事も急に参照されるようになりました。 話題になることで識者の方々から私自身も知らない知識を得ることが出来ました。 最終的には、ITmedia NEWSの大原雄介さんの下記の素晴らしい記事が産まれることになったので良かったです。 1バイトの定義 なぜ、1バイトは8bitになったのだろうという疑問から調べはじめました。 昔は4bitCPUがあったわけだし、その時も1バイトが8bitなのか4bitではないのか?という疑問がわいたわけです。 結論から書くと当時4bitCPUの場合、1バイトは4bitだったわけです。 とはいえ、CPUの値がそのまま1バイトになるわけではないです。 1bit CPU はできるのか?によると 長い歴史の中で、CPUのbit長はALU長でもなくアドレスバス長でもな

    1バイトが8bitに定まったのは2008年 - Qiita
    yass
    yass 2017/08/17
  • Home - Ike-ON

    Unlock Your Potential: Top 10 Reasons to Learn Python Python is one of the most popular programming languages in the world. As technology advances and more companies use Python … Read More C# course from scratch for beginners If you have only a general idea of what programming is and have never been professionally engaged in it, we recommend that you start learning from the very basics. Read More

    yass
    yass 2017/02/04
  • プログラムを高速化する話

    KMCの例会講座で用いたスライドを一部編集したものです。 ビット演算を組み合わせたトリッキーな方法で様々な操作を高速に行う方法を紹介します。

    プログラムを高速化する話
  • Fast Compact Sparse Bit Sets - Justin Collins' Blugh

    Imagine you need a relatively compact data structure for quickly checking membership of mostly-consecutive non-negative integers. (If this sounds really specific, it is because it is precisely what I needed for a particular project.) The Ruby standard library contains a Set class which may be a good starting point. Set is actually implemented as a Hash with the Set elements as keys and true as the

  • バイナリデータを扱う(bit操作を含む)ライブラリPreon - torutkのブログ

    ネットワークで取り扱うデータ形式には、バイナリ形式のものが多く、さらにビット単位に割り付けられているものがあります。 例えば、時刻同期でおなじみのNTPでは、RFC2030で規定されているフォーマットがあります。 先頭部分を抜粋したのが次です。 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LI | VN |Mode | Stratum | Poll | Precision | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Root Delay | +-+-+-+-+-+-+-

    バイナリデータを扱う(bit操作を含む)ライブラリPreon - torutkのブログ
    yass
    yass 2013/11/26
    " ByteBufferをラップしてbit切り出しできるように使用かと考え、BitBufferを作ろうとしましたが、世の中には既に同じことを解決しているかもと探してみたら、Preonなるライブラリが見つかりました。"
  • 2進数に関係する関数(DEC2BIN,BITANDなど):Excel関数

    10進数を2進数に変換します。   topへ デシマル・トゥ・バイナリ =DEC2BIN(数値,[桁数]) 数値:変換する 10 進の整数を指定します。 桁数:省略可です。表示する桁数を指定します。 Excel2003以前のバージョンでは、この関数が使用できず、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。 数値に負の数を指定すると、桁数は無視され、10桁(10ビット)の 2進数が返されます。 2進数の最上位のビットは符号を表します。 数値 < -512 または数値 > 511 の場合、エラー値 #NUM! が返されます。 使用例 B2セルには=DEC2BIN(A2) E2セルには=DEC2BIN(D2) と入力されています。 2進数を10進数に変換します。   topへ バイナリ・トゥ・デシマル =BIN2DEC(数値,[桁数]) 数値:変換する

    yass
    yass 2013/09/22
    " 10進数を2進数に変換します。/ 2つの数値のビット単位の「AND」を返します。/ Excel2013で追加された関数"
  • 開発メモ: UTF-8とUCS-4の変換メモ

    UTF-8とUCS-4の相互変換をC/C++で書いた時のメモ。たぶんまた自分で読むので。 背景 文字のちょっとした正規化などの処理をしたいがiconvやICUなどの巨大なライブラリは使いたくないということがたまにある。嚴密な文字列処理をしたい場合にはそれらのライブラリを使った方が安全だし確実であることは言うまでもないが、ちょっとしたユーティリティを作るのにはちょっとオーバースペックである。 一方で、UTF-8文字列に対してはASCII用正規表現ライブラリを使えば検索や置換などの大抵の操作ができるので、自分でゴリゴリと変換処理を書かなければいけないことはあんまりない。 ただ、たまに自分で書きたくなることもある。ヨーロッパ系言語のアクセント記号を外したり、半角片仮名を全角片仮名にしたり、漢字の異体字表記を常用漢字に統一したりといった処理を一気にやりたい場合とか。そんな場合、各文字が可変長バイト

    yass
    yass 2013/08/13
    "詳細を見ると、UTF-8は本当によくできてるなぁと感心する。先頭バイトに 10AAAAAA というパターンがないというのが絶妙。6バイト使うとちょうど31ビット(INT32_MAX)まで表現できるあたりが美しいとしか言いようがない。"
  • NameBright - Domain Expired

  • 2進接頭辞 - Wikipedia

    2進接頭辞(にしんせっとうじ)は、単位に2のべき乗を乗じたものを表す単位(その単位の二進の倍量単位)を示す接頭辞である。 経緯[編集] デジタルコンピュータが扱うデータの大きさを表す単位(ビット、バイトやオクテット)に付す接頭辞などとして使われる。 2進接頭辞の名称に、SI接頭語に由来するキロ、メガ、ギガ等を誤差を無視して流用する慣習があるが、これは俗習である。国際度量衡総会 (CGPM) で決定されたSI接頭語は厳密に10の整数乗を表しているのであってSI接頭語が2のべき乗を表すことは決してない。 二進法ベースのシステムでは、その数量について2のべき乗(2のべき)がよく現れる。そこで大きな量を表す際、SI接頭語のキロが表す乗数1000に近い1024 (= 2の10乗(210)) やSI接頭語のメガが表す乗数1 000 000に近い1 048 576 (= 220) について、キロやメガを

  • UTF-8

    ASCII範囲内の文字はASCIIコードと完全に一致する 第2バイト〜第4バイトは必ず10…ではじまり,第1バイトのビットパターンとは重ならないようにしてある. この工夫により,もしも伝送誤りが起こったりした場合でも,その誤りの影響が1文字の中に収まるようになっている. ストリームを読み進めると数バイト先には10以外ののパターンがきているはずで,底が次の文字の先頭バイトだとわかる. 1バイトだけ覗いてみてもいろいろわかる 0ではじまっていたら→ASCII範囲内の文字で1バイトで表される文字 10ではじまっていたら→マルチバイト文字の第2バイト〜第4バイトのどれか 110ではじまってたら→2バイトの先頭文字 1110ではじまってたら→3バイトの文字の先頭文字 11110ではじまってたら→サロゲートペアで4バイトの文字 サロゲートペアはUTF-16でエンコードする場合, サロゲートペアの参照す

    yass
    yass 2013/01/26
    "1バイトだけ覗いてみてもいろいろわかる / 10ではじまっていたら→マルチバイト文字の第2バイト〜第4バイトのどれか"
  • Redis Bit Operations Use Case at CopperEgg

    We use Redis a lot for many different things, and so I was pleased to find out that it added support for bit operations...There’s always something interesting to work on at CopperEgg. Even the simplest things can get pretty interesting. Take billing for example. Seems like an easy thing to do at first, but once you realize the complexity of how we bill, you will see why it isn’t as simple as it se

  • Sam Trenholme's webpage

    This article is part of my AES series AES' Galois field Rijndael (a.k.a AES) uses what is known as a galois field to perform a good deal of its mathematics. This is a special mathematical construct where addition, subtraction, multiplication, and division are redefined, and where there are a limited number of integers in the field. In more detail, Rijndael's galois field only allows an 8 bit numbe

  • Bitwise Tricks & Techniques - Darseinのプロコン日記

    この記事はCompetitive Programming Advent Calendar Div2012、20日目の記事です。(余談:そういえば日2012/12/20は良い日ですね!) はじめに 今回はDonald.E.Knuth著”The Art of Computer Programming”のVolume4-1の前半パートであるBitwise Tricks & Techniquesで取り上げられているビット演算について記事を書きたいと思います。ただし、ここで取り上げられているものは必ずしも競技プログラミングにおいて実用的とは限りません。すでに関数として定義されているものはそれを使った方が実装量が減らせてよいと思います。なので、「ビット演算やべぇおもしれぇ!!」と思ってもらう一助となることを目指した読み物、という感覚で読んでいただけると幸いです。 今回はC++言語を基としてコードを

    Bitwise Tricks & Techniques - Darseinのプロコン日記
  • bit vector + popcntでバイナリ素性のk-NN分類器を高速化する - シリコンの谷のゾンビ

    こんばんは @sleepy_yoshi です.Machine Learning Advent Calendar 2012 の11日目を担当します.サモア時間ではまだ12月11日なので間に合いましたね.今日はバイナリ素性ベクトルの内積計算にSSE4.2のpopcnt命令を用いて高速化することでk-NN分類器を高速化する話について書きます. このブログでは普段である調で書いていますが,今日はなんとなくですます調で書きます. k-NN (k Nearest Neighbor) 分類器はラベルを予測したい事例に対して,訓練データとして与えられたラベル付き事例集合の中からk近傍の事例のラベルを用いて予測する,という分類器です.k近傍を求めるために,訓練データに含まれる事例全てに対する類似度を計算する必要があります.類似度には様々な尺度が利用されますが,ここでは内積とします.そのためk個の近傍を発見す

    bit vector + popcntでバイナリ素性のk-NN分類器を高速化する - シリコンの谷のゾンビ
  • へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking

    この記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 12月20日追記: Darseinさんが20日目の記事で、ビット演算についての詳しい説明を紹介してくださっています!必読ですね!!!!:) はじめに Y^´       ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´     〈 〉    変  〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈  変  / 〈    態.   ∨, '/l|   ,.'-‐、`//`7/  /''"´__ | ハ l丿  態   { 人)   ! !   (/!  |ヽ〈_ ・.ノ〃  〃 /  '/⌒ヾ.! ,' !く   ! !  (_ ト、__/   ヽ、_,.イ    /l l |:::::::```/:::::/...´..

    へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
  • Histogram-Aware Sorting for Enhanced Word-Aligned Compression in Bitmap Indexes

  • FastBit: An Efficient Compressed Bitmap Index Technology

    2022/02: FastBit source moved to github 2011/10: DBLunch seminar 2010/7: FastBit in nProbe 2009/9: FastBit in SciDAC review 2008/12: ASCR Disvovery article 2008/07: R&D 100 award 2007/08: FastBit speed up drug discovery tool 2006/03: Prove formal optimality [Draft] 2005/05: Grid Collector wins ISC Award. 2004/12: WAH patent issued. FastBit is an open-source data processing library following the sp

    yass
    yass 2012/11/17
    " It offers a set of searching functions supported by compressed bitmap indexes. "
  • 30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei

    検索エンジンの転置インデックスなどデータ列を小さいデータサイズで持たせたい、という状況がある。こういう場合圧縮符号を使うのが一般的でunary符号やgamma符号、delta符号など様々な種類がある。 圧縮符号の中でイチオシなのがvertical code(vcode)。これは岡野原(@hillbig)氏によって提案された圧縮符号で単純な仕組みでdelta符号並の性能を誇っている。 記事ではvcodeのポイントを絞って30分でわかるように解説してみる。 vcodeは棚にを並べる作業を連想すると理解しやすい。棚は予め高さが決まっているので全てのが入るような棚を用意する。つまり というようなものを想像する。 この棚は8冊のが並んでいるが左から5冊目のが他よりも背が高い。このため5冊目のに合わせて背の高い棚が必要になる。だが他のは5冊目のほどに背が高くないので、5冊目が

    30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei
  • Working with large sets –

  • CONCISE: COmpressed 'N' Composable Integer SEt