「進数」を含む日記 RSS

はてなキーワード: 進数とは

2009-11-29

http://anond.hatelabo.jp/20091128052213

日経って埋もれた頃だしそろそろ平気かな。                                                                   

「えきにしく゛ちよこのかふえにいる」

メールは最初の一人だったらめんどいから送らなかった。というか捨てアド名前考えるのがめんどいから送る気なかった。増田トラバでいいじゃんと思った。さすがに出てすぐ解答書くのはちょっちゅねーとか思って待った。そして今ここに書いた。といういきさつ。

ところで、最近こういう十六進数字みたいな文字の羅列をとある個人サイト掲示板でも見かけたんだけど、流行ってるのかなこれ。

掲示板の方で見た時は興味なくてさらりと流してた。あと今ログ見に行ったらもう流れてたから、言うほど最近じゃないかもしれない。

2009-10-20

http://anond.hatelabo.jp/20091020164740

夢のない発言をするなあ。こういうときは嘘でも14歳としておくのがおれたちのルールじゃないの?

とりあえず、君の年齢は22進数で14歳ということでよろしくな。

あと、「僕」じゃなくて『ボク』な。ここ結構重要だぜ。

2009-06-21

PHP「$a="0x0A";++$aは11ですがよろしいですか」

ぼく「えっ」

PHP「$a="0x0A";++$aは11になりますが」

ぼく「いえ"0x0B"です」

PHP「えっ」

ぼく「えっ」

PHP「まだインクリメントしたことがないということでしょうか」

ぼく「えっ」

PHP「えっ」

ぼく「変化するってことですか」

PHP「なにがですか」

ぼく「型が」

PHP「ああ文字列でも整数っぽい文字列なら自動で型変換されますよ」

ぼく「そうなんだすごい」

PHP「ではインクリメントいたしましょうか11ですよ」

ぼく「でも"0x0A"は明示的にキャストしたら0になりますよね」

PHP「えっ」

ぼく「えっ」

PHP「ああ16進数のことなら10進数自動で変換してから演算するんですよ」

ぼく「なにそれこわい

PHP「for($i="0w9Z";$i<12;$i++){echo $i;}と書くと $i="0w9Z", "0x0A", 11と変化します」

ぼく「なにそれきもちわるい」

PHP「えっ」

ぼく「えっ」

http://d.hatena.ne.jp/fbis/20090618/1245297557

2009-06-18

http://anond.hatelabo.jp/20090618115804

String型同士の比較であっても整数解釈される文字列の場合は整数に変換される。


この仕様は知っていたが、まさか0x0Aという文字列が、普通キャストした場合は0にしかならないのに、==演算子による自動変換の場合には16進数解釈されて10に変換されるという新しい発見(元増田的に)を面白おかしく書いたのが元記事。どちらかというとPHPerに向けたネタ記事なので===演算子に触れちゃうと面白さが半減しそうだよね。


あと、他の言語の規則って何のこと?

http://anond.hatelabo.jp/20090618113950

もちつけ。

===演算子を使うなとは書いてないし、8進数使いたいとも書いてない。

元記事はただ事実ありのまま書いているだけだ。

そして誰も「つのだ★ひろ」には突っ込まないw

http://anond.hatelabo.jp/20090618113950

自己レス

012とかは、よく桁のパディングで 000001 と 1が同じであることを見つけるとかって処理をするから、8進数と見なしてくれるより、10進数で0詰めって見なしてくれた方が、テキスト処理言語としては、そっちのほうが便利だと思った。

自分にとって問題だって考えるよりも前に、何かの必要性があってそうなってるんじゃないか?って仕様を見つめる目がないと、自分よりも経験が長いプログラマが理由があってそう書いている物を、無知からダメなほうに改造しちゃうことがあるので・・・どうかなーって最近よく思ってるので追記

http://anond.hatelabo.jp/20090617130518

===演算子を使えよ

if ("0x0A" === "10") {
    print '(´ε` )チュッ';
}else{
	print '\(^o^)/';
}

\(^o^)/


==演算子は方をキャストしながら、ほぼ同じなら同じと見なせという意味

HTMLとかで曖昧に比較したいというのがベース言語なのに何を言う・・・

厳密に比較して欲しいときは、型キャストを明示的に禁止する===を使えば良いのに、何が不満なんだろう。

if ("0x0A" === "0x0A") {
    print '(´ε` )チュッ';
}else{
	print '\(^o^)/';
}

(´ε` )チュッ


8進数使いたいという場合がよくわからないけど、それが必用なら、必用になった人がコードパッチを当てて

試験して、それを、PHPの開発チームに送りつけてコミットさせれば、次のバージョンからサポートされるでしょ。

オープンソースなんだから、必用になった人が機能を追加する。これ基本。

2009-06-17

PHPの比較の素晴らしさ加減は正常


if ("0x0A" == "10") {
    print '(´ε` )チュッ';
}

チュッ。されちゃいます。



文字列であっても整数解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。

文字列であっても整数解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。



だけどなんでコレが一致するかわけがわからんかった。

0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。

以下の例を目ん玉見開いて見て欲しい。


var_dump(0x0A);
var_dump("0x0A");
var_dump((int)"0x0A");
var_dump((float)"0x0A");
var_dump(intval("0x0A"));

実行結果
int(10)
string(4) "0x0A"
int(0)
float(0)
int(0)

つまり文字列の"0x0A"ってやつはどう考えても0と解釈されるはずなんだ。だから上記if文が本来一致するはずがいない。

でも実際は何故か10と解釈されて一致してしまう。



そう、つまり演算子で比較した場合、やらんでもいいのにわざわざ16進表記かどうかまでチェックして余計なお世話的うんこ変換しやがるということになる。

そう、つまり演算子で比較した場合は、16進表記かどうかまでチェックして10進数に変換してくれているということになる。



明示的に書くならこんな感じだ。


if (intval("0x0A",16) == "10") {
    print '(´ε` )チュッ';
}

クソが。

なるほどねー。



ただでさえ文字列同士の比較なのにintに変換されるだけでもミソ糞うぜぇのに、わざわざ16進数の場合は10進数に変換してくれる超糞尿仕様

文字列同士の比較であってもintに自動変換してくれるだけでも素晴らしいのに、それに加えて16進数の場合は10進数に変換してくれる超便利仕様



ってこたぁ、8進数表記の場合も糞糞マジ死ぬほど余計なお世話するんだろうなぁと思ってしぶしぶ試してみた。

ということは8進数表記の場合もこの素晴らしい自動変換しれくるのかなと思って試してみた。




if ("0x0A" == "012") {
    print '(´ε` )チュッ';
}
else {
    print '\(^o^)/';
}

実行結果
\(^o^)/

おー、さすがPHP!、やっぱ8進数の場合は10進数と似てるから8進数と見なすよりも10進数と見なしたほうが効率いいですもんね。いやーわかってるなー。ますますPHPが好きになりました。I Love PHP. We Love P☆H☆P!

はは、はははっ、ははははっ。やるならやる!やらないならやらない!どっちかに統一せーやこのプリンシパル校長ヘッドハンティンピープルぺーぺーぽりんき味噌マッチョ変態改造エアガン陵辱-2くらいのスカンク殺ろうがぁああああああ★ああああああああああああああああああああああああああああああああああああああfじょ★えいjfsきじぇいつつしまじいのそるいつのだ★ひろけがきちもするけけけそあいんぼろうれあああぁあああああaaaaaa




プログラ増田のあなぐら

2009-06-16

人類はなぜ未だに十進数なんて前時代的なものを使っているのだろう。

そもそも両手の指の数が合計10本だからといって成り立ったこの考え方、コンピューター全盛時代の現代には不要なものだ。

今こそ地球を挙げて十六進数世界標準にするべきだ。

CO2だのエコだのくだらないことやるばかりで、人類進化に必要なことをなぜ執り行わないのか、甚だ不思議でならない。

愚かなホモサピエンス未来はない、ということなのか?

2009-06-15

うんコード

例えば下記の擬似コード


 i = 1;
 while( i & 7 ) {
   i++;
 }

勘弁して。いや、わかるよ。言いたいことはさ。でも俺こういう書き方慣れてないから脳内で素早く2進数変換できないの。

いや単なるイディオムとして覚えてればいい話ってのはごもっともだけど普段こういう書き方しないからパッと出てこないんだよね。

一応これがいまいちわからない人のために説明すると


 i = 1;
 while( i < 8 ) {
   i++;
 }

ってことだから。(厳密に言えば少し違うが、ここでの話はこれで良い)

なんちゅーかさ。条件が10以下とかに変わるだけで破綻するしさ。

ってかもう今時のコンパイラならコレくらいの変換勝手にやってくれるんじゃねーの?(さすがにまだまだ?この辺疎い)

そうであれば速度的は変わらないわけで単純に可読性&拡張性低下させてるだけの存在になるよね。

まあでもこれは基本的なことなんだけど、自分では書かなくても読めるようにはならないといけないってのは真なので文句を言ってるだけじゃ何も変わらない。

ということでみんなガンガンこういうコードを書いていこう。

もっともっと書いて書いて書きまくろう。

上のような処理は各ビットが全部立ってる場合に有効になるので算出方法としては


 (1 << x) - 1

となる。

つまり2の累乗から1引くと各ビットが立った数値となるわけなのです


10進数 2進数
   1 00000001
   3 00000011
   7 00000111
  15 00001111
  31 00011111
  63 00111111
 127 01111111
      :

ビットが全部立ってる数値を&で評価すると、その値を一つ超える数値、すなわち2の倍数が来るまでは常に真となるわけですね。

先ほどの処理で言うならばこういうことになります。


 i & 7 = x

(1)00000001 & (7)00000111 = 00000001
(2)00000010 & (7)00000111 = 00000010
(3)00000011 & (7)00000111 = 00000011
(4)00000100 & (7)00000111 = 00000100
(5)00000101 & (7)00000111 = 00000101
(6)00000110 & (7)00000111 = 00000110
(7)00000111 & (7)00000111 = 00000111
(8)00001000 & (7)00000111 = 00000000

という感じでiが8になった時点で7との論理演算の結果が偽となるため、ループが終了します。

正直スクリプト言語から入るとこういう低レベル計算を行うことは殆どないし、逆にこういうコードを書いてると先輩から怒られます。

なので自分で学ばない限りなかなかこれらのコードを直に理解できる状態にはならないので注意が必要です。

コードというのは「書けなくても、書かなくても、読めなければならない」これ鉄則。



プログラ増田のあなぐら

2009-05-14

カウントを考える2

1はこのへん

http://anond.hatelabo.jp/20090217112022

あ、い、う…に1,2,3…を当てはめることを考えてみる。あいうえおかきくけこ、で数を表す事ができる。256なら「いおか」である。

しかし…日本語にはもっと多数の音があるので、これだけではもったいないのではないか。となるとどうすべきか。

適当に…

|あ~/か~ が~/さ~ ざ~/た~ だ~/な~ は~/ば~|

|あっ~/かっ~ がっ~/さっ~ ざっ~/たっ~ だっ~/なっ~ はっ~/ばっ~|

とでもすれば01~99、00を割り当てる事が出来る。いやまあ適当なんでだいぶ不恰好だが。

例えば5319万6220が「うっせぐっざ」だけで表現できる。…いやまあ不恰好だが。そんでもって数と文字との変換も慣れないといけないが。

それと0007みたいな数など人に話すと場が凍るような場合もありえる。

とはいえもっと工夫すれば、ドラクエ2の52文字だったかの呪文を暗記する人も多い日本人である、大量の桁も少しは扱いやすくなるのではなかろうか。

加えてまだまだ日本語には他にも音があるし、数のほうも10進数に限らなくてもいいわけだ、変換テーブルさえ作り直せられれば。

99も81パターン三文字で表す事ができる。日本国債の額も8文字あれば足りる…のかな。ならば1円単位で易く覚えられるだろう。

眠くなってきたので文章としてはグダグダのまま唐突に終わる。

円周率3.14 15 92 65…:うげごひっごっ…

(おまけ:まあ古来にはイロハもあるわけだが、47+1しかないし…)

2009-05-04

初心者が最初に覚えるべきプログラミング言語


『本人がプログラミングをして、何をしたいかによる』



そっからは、やれC言語だ、やれActionScriptJavaScriptだ。ってやっていけばいい。




例えば、ゲーム作りたい!っていう奴がいるとする。



それで、まず最初はC言語だからねーって言ってscanfとprintfで電卓を作らせる。

これで感激して、もっと勉強したい!覚えたい! って、なるのか。



なればいいよ。でも多分ならないだろー



情報処理教科書みたいに、10進数から2進数へ変換するプログラム書きましょーって。出来るけど、そいつにとって何が面白いのよ。

C言語は確かに基礎だけど、ifとかforを基礎というならJSでもいいし、ポインタやらメモリ管理って言っても、本当にそれは必要なの?

それはC言語にとっての基礎で、シューティングゲームASとかで作る時は最初に覚える必要はないよね。


なにかしら目標もって、それを実現するために勉強していって、自分スキルが上がっていくのが分かるからモチベーションに繋がる。



そいつにとって、C言語目標までのトンネルが長すぎる。出口が遠すぎて目の前が真っ暗。

プログラミングの歩き方をよく分かっていない初心者。早く画面でいろんな動きが見たい!という初心者が、トンネルの出口までたどり着くのは難しい。



それなら、10行で早押しゲームが出来る言語から始めるべき。JSとかが楽かな。他にそういうのがあればそれでいい。

初心者にとっての丸写しじゃない10行は、エキスパートからみる500行と同じ。書いてる時の気分は。



自分の書いたコードが画面に色をつけて、クリックしたら反応する!!

でもクリックしても文字が変わるだけかー。それならもう一回クリックしたら、別の文字になるようにしてみるか。

ならついでに色も変えよう。以下略



まず自分パソコンの画面が動かせる!』ということを実際に体感してみないと。




RPGでも、最初からボス出てきて瞬殺されたらやる気なくすじゃん。最初はユルい敵倒していって、レベルアップしていく。

そのうち勝てない敵が現れるけど、勝ちたいから経験値貯めるんでしょ。

そのうちに、その言語だと絶対不可能なことが出てくるはず。その時にC言語やってポインタ覚えればいい。




今回はゲーム作ってみたいっていうパターンを例にしたからC言語ダメだと言ったけど

コンピューターの動作について理解したいとか、そういうのなら断然C言語かなと思う。

もちろんC++でもC#でも何でもいいけど。




とりあえず、初心者が「プログラミングしたいんだけど、どの言語がいい?」と聞いてきたら、

C言語と答える前に「プログラミングで何をしてみたい?」って聞いてみようよ。



そのやりたいことが比較的簡単に実現できる言語で、まず楽しさを覚えさせてあげて、こっちの世界に引きずり込め!

2009-04-03

http://anond.hatelabo.jp/20090403173543

あれ、超越数って実数係数の代数方程式の根じゃない数ではなかったか。

勘違いしてた。じゃあπ進数も構成できるかもなー。ごめん。

あーでも表記として(abcd)_pのa,b,c,dに無理数が入るのはやっぱおかしくね?

http://anond.hatelabo.jp/20090403163751

任意の実数pについてp進数ってのがあったとすると、たとえば

(abcd)_p

ってのを10進数で表現したときqになるなら

(q)_10 = a*p^4 + b*p^3 + c*p^2 +d*p

となるじゃん?

これってよく見ると代数方程式

a*x^4+b*x^3+c*x^2+d*x = q

の解ってことじゃん?

でもπやeって超越数だから、この方程式の解としてx=πやeにはなりえないよね。

そう考えるとπ進数e進数ってのは無理そう。

2進数とか3進数とかあるじゃん。あれでさ,位取りの基数を自然数以外にすることは可能なのかい。たとえばπとか虚数とか。それで正確に表現できない数が出てくる,ってのは10進数でも同じだから問題にはしない。

2009-03-04

http://anond.hatelabo.jp/20090304173616

む、待てよ。

16進数に直せば、10代かもしれない。

2009-02-24

SleipnirIE8の同時接続数を増やす方法

276 名前: 名無し~3.EXE [sage] 投稿日: 2009/02/19(木) 23:52:42 ID:iUVjMFa0

>>92-93

52ですけど、IE8+test16で同時接続数がうpしました。

ありが㌧

あんたスゴイっす。ふつう分かりませんよ。

IE8は、IE7以前とまったく違うんですね。

ちなみに、やったこと。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPERSERVER

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPER1_0SERVER

に、

値の名前 Sleipnir.exe

値のデータ a(16進数)とか適当な値

を新規に作成し、Sleipnir再起動

引用元:windoes板Sleipnir Part218より

2009-02-17

既畔矩砥砲破祓租祗祠秤称秩/帯益留党畠砦秦泰竜高

縦書き用(左右五画ずつ)

既畔矩砥砲破祓租祗祠秤称秩

横書き用(上下五画ずつ)

帯益留党畠砦秦泰竜高

イメージ的に問題

畜秘弱眩疲疵疸疹疼疽疾病症眠眩祟被

たぶん認知度に問題

哥哬哿畟夞屔巼唜眔玆砡窊罛瓳瓴瓵甡眚畕畖畗畘畚畛畞畟疍疰疱疳疴疶疷疻疿痀痁痂痃

痄痆痈痉皉皊皋皌皍皰皱破盉盋盌盍盎盏盐监眎眏眐眑眒眓眔眕眖眗眘眙眚眛眜眝眡眢眣

眤眥眦眧眨眪眫眬眿窅矝砝砞砟砠砡砢砣砤砧砨砩砪砫砬砭砮砯砰砱砳砵砶砷砸砹砺砻砼

砽砾砿础硁祏祏祐祑祒祔祕祘祙祚祛祜祡祢神秙秚秛秜秝秞秠秡秢秣秥秧秨秩秫秬秭秮积

窄窅窆窇窈窉窊窋窌窍窎竘站竚竛竝竞罛罜罝罞罟罠罡罢秪

正の代わりにカウントとして使えそうな文字。

追記:「犯」や「正」とかだと五画だから…、よく使う数の体系が十進数なのに半分の五画で一文字を構成してしまうところが不満だったので。十画ならその不満がない。どうせなら十画から選びたい。

追記:って祝神祖は使えないじゃん、示偏の名残か?字体や書き方が変わったからかな。画数票がそのような変化に対応してなかったっぽい。対応してる画数字典ないかな。

2009-01-22

2と9の話の話

16進数でも3と5の倍数がわかることに気が付いた。でもやっぱり7はわからない。

だから15進数にすれば良いことに気が付いた。でもぜんぜん実用的じゃない。

2009-01-11

年明けに大掃除した。

年明けに大掃除したら、実家から持ってきた書籍の中に小学生の時に

初めて購入したパソコンマニュアルが入っていた。

サンヨーパソコンWavy6とか書いてある。

その中にチラシが入っていたのだが

「お知らせ

 本機は日本電信電話公社より認定をうけており、キャプテンユニットMPC-CAP1などの機器との組み合わせで

 ビデオテックスターミナルとしてご使用頂けます。」

とか書いてある。

キャプテンユニットってなんなんだろう・・?

CAPTAINシステムと何か関係あるんだろうか。

ビデオテックスターミナルってなんなんだろう?

当時はこんなチラシ見もせずにBASICとデーレコばかり操作していたからな。

このチラシが何を意味する物なのか今となっては謎になっている。


それよりも、その他にもBASICマニュアルなんぞ出てきたのだがEOFとかBSAVEとかON SPRITE GOSUBとか理論演算子とか掲載されてる。

おかしいなぁ・・小学生時代にはこれも覚えてスプライトを駆使してマシン語を16進数で作成、3色キャラクタなんぞを作ってBASIC

プログラムを作って遊んだはずなのに。今ではすっかり忘れてしまった・・。

あのままもっと色々とやっていれば勉強できたのかなぁ。




そんな自分も今では派遣切りに合い、正社員にもなれない無スキル無職男になってしまった。

自分の頭のスペックはZ80Aで止まっているに違いない。

2008-11-28

妻が801の話題を振ってくるのだが

妻がニコニコ動画で、801板VIP板に完勝したとかいう動画をみて爆笑してた。妻よ、そういうのは私のいない時にこっそり見れ。まあ面白かったけどな。801板腐女子の方々は、どんな物にも萌えを感じるのだそうだ。

妻「コタツとホットカーペットなんてどうかな」

私「そんなの楽勝だろう。まったく何も関係のないもの同士が難しいのでは。そうだな、たとえば、アボガドロ数とミミズ

妻「アボガドロ数×ミミズだよね」

私「なぜ?」

妻「なんかクネクネしてて受けって感じだから。『ああっ、そんなにたくさんで責めないで…』」

私「…」

妻「二進数サンマではどうかな?」

私「それは必ずしも無関係とは言えないのではないか」

妻「なぜ?」

私「魚でニシンっているだろ。『ニシン数はあるのにサンマ数がないなんて、く、悔しいっ』」

妻「それで、どっちが攻めでどっちが受けなの?」

私「知らんがなそんなの」

2008-10-28

http://anond.hatelabo.jp/20081028225332

これは…2進数だ。

これを音声にして、さらに逆音節を調べれば。

finalvent サイキン カゲ ウスイ」と読める。

2008-10-27

http://anond.hatelabo.jp/20081024034242

いや、2進数でも1+1は2だろ。それを10と表記してるだけで、数としては同じ「2」をさしている。

混在させるときは、たとえば末尾にBとかつけて分かりやすくするほうがいいな。2=10B。

こういうところをきっちりやろうとするのが数学で、しないのが国語

http://anond.hatelabo.jp/20081027003643

8進数において

a+b+c+d+eが7の倍数のとき 

整数abcde

=10000a+1000b+100c+10d+e

(7777a+a)+(777b+b)+(77c+c)+(7d+d)+e

=(a+b+c+d+e)+7(1111a+111b+11c+d)

よってa+b+c+d+eが7の倍数のとき8進数abcdeは7の倍数

- 転職ならen
- 派遣ならen
3ページ中1ページ目を表示(合計:58件)