読者です 読者をやめる 読者になる 読者になる

アイドルが好きな人たちを受け入れることができません。

そういえば、大学に入ってからさして悩みごとがなくなった。

嫌いな人がいてイライラするということもなくなった。

大学に入れば、高校までと違って、嫌いな人がいれば自分で距離を置くことができるからだろう。

:-)

:^/

:●

いやいや、それでもしかし、私にも受け入れることができない人種というものがいて、

アイドルが好きという人を受け入れられませぬ!!

それは、小学生の頃からだった。

自分自身まったくアイドルにはまったことはないのだが、やはり友達の中には、アイドルが好きな子がいた。 DVD見せられたり、そやつらの話を聞かされたりするんだけど、なにがいいのか理解できない。

男にしろ、女にしろ。

そんな子たちが、アイドルの話をしているときの目は、何にも負けないくらいキラキラしていた。 好きになるその気持ちは、どこから生まれてくるのだろう。

いい人だなあ…って思ってた人がアイドルが好きだと知った瞬間、パッと冷めてしまう。 (完全なる偏見だけど)

この良さを理解できない私が未熟か。

好みは、ひとそれぞれなんだとわかっているつもりでいるけど、

なんだかなあ。

大学生になった今、振り返ると現在でも友人関係がつながっている人を見ると、アイドル好きな子はだれもいない。

アイドルが好きな子と一緒に遊びに行くほど仲良くなったとしても、それ以上距離を縮めることができない何かを感じた。

いつも、壁があるようだ。 アイドルを好きな人と、そうでない人…

そうやって、人間を2つにわけるのはよくない点もあるだろうけど、明らかな差があると思う。

美しいものに目を引かれ、追っかけたくなるのは、本性なの?

女の子もミッションで免許をとれ。

最近、やたら「女性が~」な記事が多くってなぜだと思っていましたが、 明日3月8日が、国際女性デー という日らしい。

私は、こういうのあまり好きじゃない。

男は男で、女は女でそれでいいじゃないかって思う。

男が女を守るんだ!!

っていうようなイメージをもつのには多少なりとも問題があるのかもしれないけど、 それは、違うんだ!!って声を上げる女もなんか馬鹿らしく思う。

結局、私の結論は曖昧なんだけど、こういう風潮はなんだか嫌いだなあ。

そんな私だけど、ひとつだけ主張したい

女の子もMTで免許をとれ!!!!

私が通っていた教習所では、女のうち9割はAT限定だという。ざっと調べた感じ、全国的にもそれくらいのようだ。 MTでとる女子は、1割もいない。

逆に男は、9割がMTだ。

そこらへんで走っている車はほとんどATで、実際MTとったところで、MTに乗る可能性は非常に低い。

MTでとってる男は、ATだとダサいからというただそれだけの理由の人もいるかもしれない。

だけど、そこでなんで女だからATって甘えてるんだ!!

どうせだから、ミッションに乗ろう!という挑戦心はないのか。

そんな私は、もちろんMTだ。工学部ということもあり、AT限定でとるという選択肢は頭のなかにはなかった。

練習中、教官に

「MTは男の人が乗ることが多いから~」とか、

「MTは、女の子には難しいよね~」とか言われるのが、大変面倒だった。

こんな小さなところで、女が甘えているのだから、女の給料が低くなっても仕方ないんじゃないかなあ。

原因は女の方にあると思う。

これから、教習所へ向かう女の子たち。どうかミッションで免許をとってほしい。

そして、教官を鼻で笑ってやれ。

変異種楽器、オタマトーンが猛烈にほしい!

昨日、オタマトーンという楽器があることを知りました。

オタマトーン

オタマトーン(ブラック)

オタマトーン(ブラック)

めっちゃかわいい。

こちらは、公式ページ。

【Otamatone | オタマトーン】さわってカンタン電子楽器 | 明和電機

音符の形してんのがすごいよね!なんたってあの顔。最強でしょ。とてつもなく親近感がわくよね。それでもって、ちょっとおたまじゃくしみたい。

口パクパクさせながら、演奏させるの。音符の棒にあたるところに長いボタンがあって、それぞれ押す場所によって音程が微妙に違うのね。びゃーーんって。

youtubeにも、たくさん演奏動画がアップしてあるけど、私が一番気に入ったのは、これかな。ちょっと楽器の全体像つかみにくいな。ま、他のも見てください。


【オタマトーン】Let It Go

究極の可愛さ。

ぱねえ

ってやつだね。

うーん、欲しすぎる。

オタマトーンには、いくつか種類あるけど、ほとんどは1万円あれば買えそうね!

ただ、マンションに住んでるから、音量が心配よね。どうなんだろ。

普通のオタマトーンには、音量調整が2段階しかできないみたい…あああ

明和電機っていう会社がつくった楽器らしいんだけど、ここの社長さんがおもしろくて、うける。


otamatoneDX  オタマトーン・デラックス 説明映像

これはね、オタマトーンデラックスって言って、通常オタマトーンよりもちょっとでかいサイズのやつだよ。デラックスバーションね!45㎝!

オタマトーン デラックス (ブラック)

オタマトーン デラックス (ブラック)

これなら、音量調整もダイヤル式だから、意外といけるんじゃないかっと思ってます。おまけにACアダプタからも電源つなげる。(普通のは、電池3本で消費が…だそう。)

欲しい!!

だけど、演奏にはかなりの技術いるっぽいね。

amazonのレビュー見た感じ、

なかなかユーモラスで面白い楽器です。使いこなすには、かなりの慣れとテクニックを要しそうですが、使い方次第では良い効果が出せそうです。

意外と難しいよ!!!!!!

みたいな意見多いけど。

まあ、かなり評判は良いようね。

どこがどれくらいの音がでるのかとか、感覚をつかむまで練習に時間かかりそう。

ギターとか弾いたことない私でもできるんかな。

もちろん、絶対音感もない。

簡単に演奏できるように、ほかにもいろいろ種類あって、


ちっちゃくてかわいいの。持ち運びできていいかもね。でも、演奏できる曲かぎられるから、私は飽きちゃうかな。

オタマトーン メロディ (ブラック)

オタマトーン メロディ (ブラック)

www.youtube.com

つぎ、これは鍵盤がついてるバージョン。

明和電機 Otamatone オタマトーンでじたる ブラック

明和電機 Otamatone オタマトーンでじたる ブラック

www.youtube.com

最新バージョンもでてるようね!

オタマトーン テクノ Otamatone Techno ホワイト

オタマトーン テクノ Otamatone Techno ホワイト

www.youtube.com

解説してるのは、全部社長さんだよ!

値段とか総合的に考えて、オタマトーンデラックスがほしいな。

そうそう、最近、電子工作にはまってます。私もこういうの作れるようになりたいと思って、わくわくパソコンと向き合ってます。

まだまだ、LEDをちかちかさせるので精一杯です汗

まだまだですな。オタク系女子への道。

後期の単位全部とれたら、買っていいことにしよ。 統計とプログラミング!

単位ください!

1日中勉強してるのですが、課題の終わりが見えませぬ。

ふぇわじfぱふぇわおふぁうぇあ、勉強します。

歯列矯正って実際どんな感じか?期間や費用は?

歯列矯正を始めてから半年がたちます。

私は、大学に入学してから矯正をはじめました。

f:id:ruruganbaru:20161227100656p:plain

皆さんのまわりにも、歯列矯正をされている方がいらっしゃると思います。

調べてみたら、芸能人の方でもたくさんの方が行っていることがわかりますね。 matome.naver.jp

歯並びだけで、人の印象がずいぶん変わりますよね。

歯列矯正中の私であるからこそ、今から歯列矯正を始めようかと考えている大人の方向けに記事を書いていきます。

歯医者選び

f:id:ruruganbaru:20161227112102p:plain

私は、大学病院で治療しています。それも私自身が通っている大学の。 26,27歳あたりの大学院生に担当してもらっています。

大学院生?不安じゃないの?というところですが、バックにはベテランの先生が何人かいらっしゃいます。 治療方針は、そちらで相談しながら進めているので安心ですよ。

大学4年生くらいの子が見学に来たりしますが、そんなに気になりません。

もちろん大学病院ですから、練習台といえばそうかもしれませんが、個人で経営している歯医者より個人的には良いんじゃないかと思います。

ただ、大学病院の場合、診療時間が短いので社会人には通いづらいと思います。 休日は、開いていないし、平日も受付が15時までとか

最近だと、小さな歯医者でも矯正歯科をやっているところが多いですよね。 大学病院の先生が言うには、ほかの歯医者で矯正するなら、矯正歯科だけを専門しているところのほうが良いとのこと。 歯医者の名前が「○○歯科」とかじゃなくて、「○○矯正歯科」のところを選びなさいと。

期間

人によってかなりの差があるようですが、ほとんどが2年から3年のようです。 歯が動きやすい人、動きにくい人がいるそうです。

もちろん、途中で中断したり、虫歯になったりした場合は、もうちょっと伸びてしまいます。 私の友人で、大学受験を理由に半年間中断していた子がいて、結局4年かかったらしいです。

矯正を始めるタイミングも大事ですね。

※矯正治療が終わったあとは、歯が動いてしまいやすいようなので1年くらいは内側だけ装置をつけたままにする必要があります。

費用

f:id:ruruganbaru:20161227112138p:plain

大学病院であろうと、ほかの歯医者であろうと、60万~100万円です。

うーん。高い!

でも、歯は一生もの!もし、歯並びが気になるのなら、お金を払う価値はあるんじゃないかな?

治療を始める前に、費用についての説明があると思います。

私の場合、全部合わせて60万ほど。

私の通っている大学の大学病院であることもあり、本来の2割引きくらいになっています。

レントゲン代、装置代、検査代‥‥

最初の1か月半くらいは、歯の検査や準備が行われます。その後、本格的に治療が始まってからは、 1か月に1回診療し、5000円かかります。(私の場合、割引で、3000円です。)

抜歯はするのか

私は、矯正を始める前に4本歯を抜きました。犬歯のもう1つ奥の歯を抜いてもらいました。 抜いたあと、すぐに痛み止めを飲んだのでほとんど痛みはありませんでした。

でも、歯を抜くのは、ちょっと怖かったな…。

やっぱり歯はだいじですよね。できれば抜きたくない!!それぞれの担当医と相談して決めればよいと思います。 私の場合、歯が大きく、顎が小さいため、歯並びがかなり悪くなっていたので、抜歯は必須でした。

どれくらい痛むのか?

矯正の準備段階のとき、歯の奥歯に隙間をつくるため、ゴムのようなものを詰め込まれます。

あれは、痛い!!

ゴムを詰め込まれてから、3.4日間、豆腐程度の柔らかさのものしか食べれませんでした。 おかゆすら痛くて食べれない!

ヨーグルトが最高においしくなりますよ!

本格的に治療を開始してからは、1か月に1度、装置の調整をしてもらうのですが、 私の場合、そこまでの痛みはありません。 調節したその日と次の日にちょっと痛む程度です。チョコレートとか固いもの以外は、普段通りに食べられます。

痛みには個人差があることを、お忘れなく!

困っていること

では、私が歯列矯正の上で、困っていること。

お昼に食堂でご飯食べたあと、矯正装置に食べたものがはさまりまくる!

ブロッコリーとかネギとかは避けています。

時間があれば、こっそりトイレに行って歯磨きしたりしますが、授業のコマをつめすぎてるから時間がない!

あきらかにやばいときは、マスクで隠したりしてます。笑

あと、矯正装置をつけてからは食べ物がおいしく感じられないです。 慣れたら、全然いいんだけどね。

歯科矯正のメリット

一、第一印象がよくなる!

二、食べ物が食べやすくなる!

三、歯が磨きやすくなる!

歯科矯正することにより、頭痛や姿勢が改善されるケースもあるようですよ。

最後に

費用と歯と、よく考えてから治療を始めてみましょう!

特に、歯医者選びは、とっても重要!!

f:id:ruruganbaru:20161227112251p:plain




私は、大学4年生なる頃には、矯正が完了する予定です。

がんばるぞっ!

語学学習サイトLang-8を始めてみたんだけど、すごいこれ!

英語の勉強、もっと楽しくする方法はないかと模索していました。

だって、TOEICの勉強だけするのつまんないじゃん!

ここで考えたのが、

英語がネイティブの友達がほしい!

へらへらパソコンつついていて、こんなサイトを発見しました。

Lang-8

lang-8.com

無料でここまでできるのか!というほど、すごいサイトでした!

Lang-8とは

国語学習のためのSNSです。

学習中の言語で書いた文を投稿して、お互いにネイティブスピーカーとして添削しあう

という画期的なサイト。世界中の人々とつながることができます。

f:id:ruruganbaru:20161227154633p:plain

今の時代は、すごいですね!こんなのがあるなんて、知りませんでした。

私の場合、

母語 → 日本語

勉強中の言語 → 英語

です。

始めにこれを登録すると、

母語 → 英語

勉強中の言語 → 日本語

の人が表示されます。

日本人に添削されるのを待っている投稿もたくさん。Oh!!すごいシステムです。

添削しあう中で、お互いにメッセージをやりとりすることもできるんです!

投稿する文章は3.4行の短文。日記でも、好きなものでもなんでもいい。

友達も作れます。

フィリピン人、シンガポール人、アメリカ人、中国人と友達になりました!

昨日は、日本語勉強中のフィリピン人大学生とメッセージのやりとりをしていていました。英語と日本語をまぜながら。

フィリピンは、地域により使う言葉が違うそうです。 地域特有の言葉を母語として、4歳からフィリピン語と英語を習い始めるんですと。

だから、英語はほぼネイティブ並み!

日本語もとても上手で、(笑)を連発してきます(笑)

それぞれの国の文化こついて考えることもでき、いい勉強。

英作文を投稿してみました

私が投稿した、幼稚ではちゃめちゃな英文はこちら。

On tomorrow night, I see my two friends. I don't meet them for six or more years. I'm looking for seeing them but I am embarrassed. I don't remember how to talk with them. They are classmates when I am a elementary school student. I am 19 years now. I can not wait for tomorrow to come. My heart is beating!

投稿してから、添削が返ってくるまでの時間は、

10分!!

2人の方から、添削していただきました。1文ずつ丁寧に添削してくれます。

こちらが添削後の文章です。(2人の添削を合わせています。)

Tomorrow night, I will meet two of my friends whom I haven't seen for more than six years.Although I'm looking forward to seeing them, I feel nervous.They were my classmates when I was in elementary school.I am 19 years old now.I cannot wait for tomorrow to come.My heart is beating!

こんな感じ。添削されまくりましたね。

もちろん、無料だから、添削のプロが集まっているわけではありませんが、気軽に英語を学習するサイトとしてなかなか最高です。

がんばるぞっ!

数学パズル「ハノイの塔」をC言語で攻略する!

ハノイの塔は、数学パズル。

プログラミングがわからない方も、ちょっと見ていただけたらと思っています。

私もプログラミングは専攻じゃないんです!

ほらほら

数学パズル ハノイの塔 (木のおもちゃ 知育玩具) 1才?100才 出産祝い にお薦め♪  Wooden toys puzzle

数学パズル ハノイの塔 (木のおもちゃ 知育玩具) 1才?100才 出産祝い にお薦め♪  Wooden toys puzzle

こんな感じのおもちゃなんだけど、

出産祝いに

とかなんとか書かれていますが。幼児がこれでどうやって遊ぶんだ?

ハノイの塔のゲームルール

ハノイの塔は、3本の棒とたくさん(n枚)の円盤でできています。

上の写真で、3本の棒のうち、左から順に、A, B, Cとしましょう。 最初は、Aにすべての円盤があります。ちょうど上の写真のように大きいものほど下になるようにです。

Aのすべての円盤を、大きいものほど下になるようにBにそのまま移し替えるというのが、ざっとしたゲームの流れとなりますが。 ここで、決まりがふたーつ!

1. ある円盤の上には、それより大きい円盤をのせてはならない。

2. 複数の円盤を同時に動かしてはならない。

この条件を満たすために、Cに仮置きして円盤を移動をさせていくわけです。

n枚の円盤があるとき、どのような手順でゴールにたどりつけるでしょうか?

まずは、人間の頭を使って考えてみてください。

どうですか。わかりますか。

頭の中で、移動させることができない私は、絵をかいて頑張っております。

うーん。

1枚なら、AからB。

2枚なら、AからC。AからB。CからB

3枚なら‥‥?

Cちゃんに解いてもらおう!

われわれ、人間はコンピュータの頭を使うことができます。

だけど、コンピュータに動いてもらうには、私たち人間がお願いしないとやってくれません! けっこうこれも大変!

なんて頼めばいい? C言語でプログラムを書いてみましょう!

#include<stdio.h>

void hanoi(char a, char b, char c, int n){
    if(n>1){
      hanoi(a,c,b,n-1);/*①*/
      hanoi(a,b,c,1);/*②*/
      hanoi(c,b,a,n-1);/*③*/
    }else{
      printf("from %c to %c\n",a,b);
    }
}

int main(void){
    int n;
    printf("How many discs?\nI have ");
    scanf("%d", &n);
    hanoi('A', 'B', 'C', n);
    return 0;
}

なんで、そんなプログラムになるんだよ!

私もかなり時間かけて考えました。

これは、どうにもこうにもほかの説明聞いたりするより 自分の手を動かしたほうが早いんじゃないかな?

Amazonで、わざわざハノイの塔を買わないでも、テープとか積み重ねてさー!

それでも苦戦するね!!

このプログラムがわかりづらいのは、hanoi という関数の中にまたhanoiという関数があるからだと思います。

こんがらがらー

nが1より大きいときとそうでないときで場合分けして考えていくところもポイント。

3枚の円盤のときを考えていくよ!

f:id:ruruganbaru:20161228112910j:plain

絵でかくとこうなるね。プログラム中の①~と、絵の①~は同じものを指しています。

①hanoi(A,C,B,2)

hanoi(A,B,C,1) hanoi(A,C,B,1) hanoi(B,C,A,1)

n = 1 になったとき、動かす(else)から、A→B A→C B→C

n-1枚の円盤をCの仮置き場に持っていくのが①の役目。

②hanoi(A,B,C,1)

n = 1 だから、そのままelseの処理へ。A→B

A→B

③hanoi(C,B,A,2)

hanoi(C,A,B,1) hanoi(C,B,A,1) hanoi(A,B,C,1)

同様に、すべて n = 1となっているわけだから、C→A C→B A→B

n-1枚のCに仮置きされていた円盤をBへと送るのが③ということ。

実行して確かめよう


How many discs?

I have 3

from A to B

from A to C

from B to C

from A to B

from C to A

from C to B

from A to B


予想と同じになってる!

ハノイの塔のゲームとかあるから、それをやってみるとプログラムが何をやっているのかが理解しやすくなると思います。

おっ!なるほどね!って瞬間がきます。

私は、頭を使うゲームみたいなのあんまり好きじゃないです。全然できない!

やってみたらわかるけど、n枚の円盤があるとき、{(2のn乗)-1}回で解けます。

がんばるぞっ!

ちなみに、10枚円盤があるとこんなことになるから、やめたほうがいいですね笑


How many discs? I have 10 from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from B to A from C to B from C to A from B to A from B to C from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B from C to A from B to A from B to C from A to C from B to A from C to B from C to A from B to A from C to B from A to C from A to B from C to B from A to C from B to A from B to C from A to C from A to B from C to B from C to A from B to A from C to B from A to C from A to B from C to B

C言語で入力された文字の文字コードを16進数で出力する

1文字入力して、その文字コードを16進数に変換するプログラムを作ってみましょう。

f:id:ruruganbaru:20161226105907j:plain:w300

さて、文字コードとは「何?」というところですが、簡単に言うと、一つ一つの文字に対応している数字のことです。

そういうものがあるんだな、というざっくりとしたイメージをもっているだけでいいです。

進数についてですが、こちらの記事がとてもわかりやすいので、一度読むべきだと思います!

www.chishikiyoku.com

こちらは、続編。

www.chishikiyoku.com

なるほど!

はい、それでは、ソースコードです。

#include <stdio.h>
int main(void) {
int c;/*cは整数だよ*/
printf( "Input a character:" );
c = getchar(); /*1文字入力*/
printf( "character code for '%c' = 0x%02x\n", c, c );
return 0; 
}

別解

#include <stdio.h>
int main(void) {
char c;/*cは文字だよ*/
printf( "Input a character:" );
scanf("%c",&c); /*1文字入力*/
printf( "character code for '%c' = 0x%02x\n", c, c );
return 0; /* 文字コードを16進数で出力 */
}

実行


Input a character:a

character code for 'a' = 0x61


Input a character:A

character code for 'A' = 0x41



解説

0x%02xとは、なにか。

0x →16進数だよという印です。

%02x →16進数2桁だよ。


二つの解答例からもわかるように、getchar、scanfのどちらかを使うかで、最初の変数宣言を変えないといけないので、まちがえないようにしましょう。

進数の練習をもう少ししたいという方は、こちらもどうぞ!

このソースコードで、どんな実行結果が得られるかな?

#include<stdio.h>
int main(void){
printf("atai = %d\n", 12); 
printf("atai = %d\n", 012); 
printf("atai = %d\n", 0x12); 
return 0;
}

実行


atai = 12

atai = 10

atai = 18


解説

それぞれ異なる進数で表されている3つの数字を、10進数に変換するプログラムです。

%dは、10進数に変換してね、という命令です。 (ちなみに、%oなら8進数、%xなら16進数)

□普通の数字(0から始まらない)なら10進数。ex.)14,5678

□0から始まる数字なら8進数。ex.)045,0987

□0xから始まる数字なら16進数。ex.)0x35,0xfa

です。

12・・・10進数

012・・・8進数

0x12・・・16進数

というわけですね。

高校生のとき、進数をいじるために習ったあの計算なんかしなくても、プログラミングでぱっと答えを出すことができます。

がんばるぞっ!