わたしは機械加工工場で検査の仕事をしています。
ある部品の検査をするのに、一般公差をANSI Y14.5Mから
引用しなくてはなりません。
 しかしながら、ANSIのような海外の規格の資料に乏しく、
なかなか調べることが出来ません。
 またコンピュータで検索しても英語だらけでさっぱりわかりません。
どなたかANSIの一般公差表をみれるサイトをご存じありませんか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ANSIの公式サイトを見てみると、この規格は無料では閲覧できないようです。

また業務で必要なのでしたら、信頼性のない私的サイトの資料などを使うことはできないでしょう。

というわけでANSI規格を購入することをお勧めします。ネット上でも購入できるようですが、ANSI規格など主要な海外規格は東京都港区赤阪の日本規格協会(参考URL)で購入、閲覧、コピーなどできます。

参考URL:http://www.jsa.or.jp/
    • good
    • 0
この回答へのお礼

ご回答、有り難うございました。
アドバイスいただいたように
やはり購入したいと思います。

お礼日時:2001/09/19 22:24

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qvoid main()って誰が最初?:ANSI-C

ANSI-C言語に関することです。
ベンダー拡張やOS固有機能は除外してください。

よく、書籍でvoid main(void)と書いたサンプルを見かけます。
プログラミング言語Cではint main(void)だし、C言語FAQでも「void main(void)は間違いである」と書いてあるのに…。
過去の質問への回答で「ANSI-Cでは…」と解説している人がいたのでANSI-Cの仕様を調べてもint main(void)の方が正しいように書かれていました。

これだけ資料が揃っているのにいまだにvoid main(void)と書かれた書籍がイッパイあるのはなぜなんでしょう?
最初にvoid main(void)って書いた人がものすごく影響力のある人だったのか?と想像してしまいます。
いったい誰が最初にvoid main(void)と書き始めたのでしょうか?

Aベストアンサー

 昔は『プログラミング言語C』が void main(void) と書いていたからです。

 この本はC言語を開発したDr.KernighanとDr.Ritchieが1978年に発表したものです。
 言語設計者が自ら開発した本として大きな影響力を持ち、「K&R本」と呼ばれて親しまれてきました。

 しかしK&R本の内容では、言語設計として曖昧な部分、不適切な部分もありました。そこで言語設計を洗いなおしたのが1988年のANSI規格です。

 同じころにK&R本もANSI規格に合致するように内容を改定して、『プログラミング言語C 第2版』として再発表されました。

 共立出版から出ている和訳本も、初めは第1版の翻訳でしたが、ANSI以降は第2版の翻訳になっちます。

 しかし我々は、日本語でもそうですが言語習慣というものはなかなか変えられません。だから今でも(コンパイラが許すなら)void main(void)と書く人もいるわけです。

参考URL:http://www.bohyoh.com/CandCPP/C/history.html

 昔は『プログラミング言語C』が void main(void) と書いていたからです。

 この本はC言語を開発したDr.KernighanとDr.Ritchieが1978年に発表したものです。
 言語設計者が自ら開発した本として大きな影響力を持ち、「K&R本」と呼ばれて親しまれてきました。

 しかしK&R本の内容では、言語設計として曖昧な部分、不適切な部分もありました。そこで言語設計を洗いなおしたのが1988年のANSI規格です。

 同じころにK&R本もANSI規格に合致するように内容を改定して、『プログラミング言語C 第2版』と...続きを読む

Q「エクストラロード規格」「リインフォースド規格」について

現在ミシュランの245/65/17 101Hのタイヤが付いています。
減ってきたのでタイヤ交換を考えていますが、タイトルにある
「エクストラロード規格」「リインフォースド規格」に適合させる空気圧の見方が良くわかりません。
TOYOのHPでは「どちらも同じです」
ヨコハマのHPでは「規格が若干異なります」とあります。
気にしなくても良いものなのでしょうか?

交換候補は
普通タイヤ TOYOプロクセスS/T 255/60/17 リインフォースド規格
スタッドレス ヨコハマジオランダーIT/S 235/65/17 エクストラロード規格


空気圧の出し方としては、
車のドアに張ってある空気圧表をみると210kPaとありますので、BSのHPにあったJATMA規格のLI101欄の210kPaを見ると「765」とあります。

それを
「エクストラロード規格」「リインフォースド規格」であればLI101 765を満たすように「270kPa」でいいのでしょうか?

またスタッドレスと普通タイヤではまた違いますか?

Aベストアンサー

>ヨコハマのHPでは「規格が若干異なります」とあります。

 それはどのページに書かれているのですか?


>空気圧の出し方としては、
>車のドアに張ってある空気圧表をみると210kPaとありますので、BSのHPにあったJATMA規格のLI101欄の210kPaを見ると「765」とあります。

 ここまではOKです。
 純正が日本タイヤで、サイズが245/65/17、LIが101である場合は、そうなります。
 純正が欧州タイヤの場合、JATMAではなくETRTOとなり、同じLI・空気圧でも負荷能力が違います。
 また、LIが同一でもタイヤサイズにより、負荷能力が変わってくることがあります。
 以降、純正タイヤがJATMAでサイズが245/65/17、LIが101であるとします。


>それを
>「エクストラロード規格」「リインフォースド規格」であればLI101 765を満たすように「270kPa」でいいのでしょうか?

 Toyo Proxes S/Tだと、ReinforcedでLIが110です。
 Yokohama Geolandar I/T-Sだと、Extra LoadでLIが108です。

 これをXL/RFDの空気圧-負荷能力対応表と見比べると、前者が195~200kPa、後者が210kPaとなります。
 何か低いようにも思えますが、XL/RFDでない前者のタイヤサイズのLIは106位、後者は104位である事を考えれば、別に異常な値ではありません(XL/RFDでない空気圧-負荷能力対応表で、210kPaの時の負荷能力を見れば判ると思います)。


>標準タイヤの「H101」という表記が「LI」=で間違いないでしょうか?

 間違いありません。

>ヨコハマのHPでは「規格が若干異なります」とあります。

 それはどのページに書かれているのですか?


>空気圧の出し方としては、
>車のドアに張ってある空気圧表をみると210kPaとありますので、BSのHPにあったJATMA規格のLI101欄の210kPaを見ると「765」とあります。

 ここまではOKです。
 純正が日本タイヤで、サイズが245/65/17、LIが101である場合は、そうなります。
 純正が欧州タイヤの場合、JATMAではなくETRTOとなり、同じLI・空気圧でも負荷能力が違います。
 また、LIが同一でもタ...続きを読む

QANSI Cと学ぶのに適した本

こんにちは。

ANSI Cを学ばなければならなくなったのですが
ANSI Cが標準規格であるということ以外、
どういうものなのかということがわかりません。
プログラムの書き方が異なるのでしょうか。
それともエディター・コンパイラーによって異なるのでしょうか。

もう一点。
ANSICを学ぶ上で解説付の問題集の購入を検討しているのですが
オススメの物があれば紹介して頂ければ幸いです。

初歩的な質問で申し訳ないですが、宜しくお願いします。

Aベストアンサー

>ANSI Cが標準規格であるということ以外、
>どういうものなのかということがわかりません。
>プログラムの書き方が異なるのでしょうか。
>それともエディター・コンパイラーによって異なるのでしょうか。

「標準規格」とは「こう書いたら、どう動くか?」を規格化した物です。

言い替えれば「文法的には問題がないが、実際に書いた場合にどう動くのかが曖昧になってしまう部分を、明確に決めた物」です。

例えば、
char c;と書いたら、このcは符号付きか、符号無しか?
char c;、int i;と定義し、c = -1;、i = c;と書いたら、iは-1になるのか、それとも255になるのか?
定義しただけで代入も参照もしてない変数があったら、コンパイル時、無視するか、警告するか、エラーで止まるか、どうするか?
などです。

これらは、規格化される前は「動作が明確に決まってないから、このCコンパイラでコンパイルした時と、こっちのCコンパイラでコンパイルした時で、プログラムの実行結果が違ってしまう」と言う事が起きてしまいました。

これでは「違うCコンパイラに移植したら動かなくなってしまう。場合によっては、動かないどころか、コンパイルも出来ない」と言う問題が起きてしまいます。

「それでは困る。規格を統一しよう」って事で始まったのが「ANSI Cの規格化」です。

言うなれば「ANSI Cを覚える」とは「曖昧な書き方をした時にどういう動きをするのか覚える」「規格上で動作が未定義とされている書き方をしないよう覚える」「コンパイル環境に依存しない書き方をしないよう覚える(特定のコンパイラでしか通じない方言を書かないよう覚える)」と言う事です。

>ANSI Cが標準規格であるということ以外、
>どういうものなのかということがわかりません。
>プログラムの書き方が異なるのでしょうか。
>それともエディター・コンパイラーによって異なるのでしょうか。

「標準規格」とは「こう書いたら、どう動くか?」を規格化した物です。

言い替えれば「文法的には問題がないが、実際に書いた場合にどう動くのかが曖昧になってしまう部分を、明確に決めた物」です。

例えば、
char c;と書いたら、このcは符号付きか、符号無しか?
char c;、int i;と定義し...続きを読む

Qエンジンオイルの規格

先日ふと思ったのですが


今、日産車に乗っていて 説明書にはSL規格 5-30の純正オイル と書いてあったのですが、 SJ規格の純正オイルを入れるとダメなのでしょうか?

逆に社外の100%化学合成を入れると違いはわかるものなのでしょうか?

値段も種類によって結構違うので何を入れるか迷ってます。


誰か教えて下さい。


お願いします。

Aベストアンサー

SLにSJは良くないと思います。
SL以上を入れましょう。

社外の高いオイルについて。
エンジンの回り方に違いはありますよ。
高いオイルの方が滑らかに回ります。
違いは歴然とわかります。


しかしそれで燃費が大幅に変わるということはありません。
エネオスが新規格のSN/GF-5のオイルを出しましたが燃費は2%向上とのことです。

あとは賛否両論ありますが、私は添加剤も好きで入れます。

いろいろ試してみてはいかがでしょうか。

QANSI Cでファイル名、ディレクトリ名の取得

MS-DOSまたはPC-DOS(PC/AT)でANSI Cにて
ファイル名、ディレクトリ名の取得するようなプログラムを
作りたいのですが何か言い方法はあるでしょうか?

Aベストアンサー

dir.hで定義されている
findfirst()、findnext()で取得できますよ。

Q車がタールだらけ!

月極駐車場のアスファルト改修工事の時に、愛車がコールタールだらけ(しぶき状に屋根部分を含め車約半分程度)にされてしまいました。苦情を言い、きれいにするとのことですが、簡単に現状復帰するのでしょうか?後々にシミが出てくるとか不具合が発生するなら、今のうちに申し入れしときたいし・・・。

Aベストアンサー

ボディ・コーティングとかやってる "みがき屋さん" に早く依頼して綺麗にしておきましょう。
あまり時間をおくと塗装にダメージを受けますよ。

普通に道を走っていても舗装したてで小雨のところを走れば前走車や自車の跳ね上げたタール、ピッチが付きます。

早めの対処が大事です。対処が遅く大事に至ったら、大金がかかって相手方ともめるでしょうし、良いことないです。

Q多元配列について(ANSI C)

動的多元配列で、
Voidポインタに、多種の型がぶら下がった多元配列を作り、
読み書きをしたいのですがどのようにしたらよろしいでしょうか。

具体的には、
x[0][1]は、intで「2」が入っている
x[0][4]は、intで「9」が入っている
x[1][2]は、charでしかも文字列の配列で「goo」が入っている
x[1][5]は、charでしかも文字列の配列で「教えて」が入っている
x[0]は、int型の配列。X[1]は、文字列型の配列。
というようなものです。

一応ソースは作ってみたのですが、int型では問題なくいくのですが、
文字列は、コンパイルはできますが、実行すると予期せぬことが起きます。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (void) {
     void **topPointa;
     int * iDataInput;
     int * iDataOutput ;

     char * chDataInput;
     char * chDataInput2;

     char * chDataOutput1 ;

     // ポインタアドレス用のメモリ確保
     topPointa = (void *) calloc (10 , sizeof(void *));
     if(topPointa == NULL) {
          printf("メモリが確保できません\n");
          exit(-1);
     }

     //int配列のメモリ確保
     iDataInput = (int * ) calloc (10 , sizeof(int));
     if(iDataInput == NULL) {
          printf("メモリが確保できません\n");
          exit(-1);
     }

     iDataInput[0] = 3 ;
     iDataInput[1] = 4 ;
     topPointa[0] = (void * ) &iDataInput;

     //int配列の取り出し
     iDataOutput = *(int *) topPointa[0];
     printf( "int: %d\n", iDataOutput[0] );
     printf( "int: %d\n", iDataOutput[1] );

     //char配列 のメモリ確保
     chDataInput = (char * ) calloc (10 , sizeof(char *));
     if(chDataInput == NULL) {
          printf("メモリが確保できません\n");
          exit(-1);
     }
     chDataInput2 = (char * ) calloc (10 , sizeof(char));
     if(chDataInput2 == NULL) {
          printf("メモリが確保できません\n");
          exit(-1);
      }

     strcpy(chDataInput2 , "hoe");
     chDataInput[0] = &chDataInput2;

     topPointa[1] = (void * ) &chDataInput;

     //char配列の取り出し
     chDataOutput1 = *(char *) topPointa[1];

     printf( "char: %S\n", chDataOutput1[0] );

     free(iDataInput);
     free(chDataInput);
     free(chDataInput2);

     return 0;
}

言語は、C言語ANCI Cでお願いします。

以上。よろしくお願いします。

動的多元配列で、
Voidポインタに、多種の型がぶら下がった多元配列を作り、
読み書きをしたいのですがどのようにしたらよろしいでしょうか。

具体的には、
x[0][1]は、intで「2」が入っている
x[0][4]は、intで「9」が入っている
x[1][2]は、charでしかも文字列の配列で「goo」が入っている
x[1][5]は、charでしかも文字列の配列で「教えて」が入っている
x[0]は、int型の配列。X[1]は、文字列型の配列。
というようなものです。

一応ソースは作ってみたのですが、int型では問題なくいくのですが、...続きを読む

Aベストアンサー

★アドバイス
・最初に
 誤→topPointa = (void *) calloc (10 , sizeof(void *));
 正→topPointa = (void **) calloc (10 , sizeof(void *));
 
 誤→tchDataInput = (char * ) calloc (10 , sizeof(char *));
 正→tchDataInput = (char **) calloc (10 , sizeof(char *));
 ※chDataInputはchar**にすべきです。
 ※文字列型の配列をchar*の配列として表現するため。
>Voidポインタに、多種の型がぶら下がった多元配列を作り、
 ↑
 共用体を利用して実現できませんか。

例えば:
typedef struct tagPOINTER {
 union {
  void *ptr;
  int *i;
  char **c;
 } x;
} POINTER;

void **top;
POINTER *set;

// void*配列の確保
top = calloc( 10, sizeof(void*) );
// 代入用にキャスト
set = (POINTER *)top;
// int配列の確保
set[0].x.ptr = calloc( 10, sizeof(int) );
// char*配列の確保
set[1].x.ptr = calloc( 10, sizeof(char*) );

// 代入処理
set[0].x.i[1] = 2;
set[0].x.i[4] = 9;
set[1].x.c[2] = strdup( "goo" );
set[1].x.c[5] = strdup( "教えて" );

>具体的には、
>x[0][1]は、intで「2」が入っている
>x[0][4]は、intで「9」が入っている
>x[1][2]は、charでしかも文字列の配列で「goo」が入っている
>x[1][5]は、charでしかも文字列の配列で「教えて」が入っている
>x[0]は、int型の配列。X[1]は、文字列型の配列。
>というようなものです。
より。

// void**で受け取る
static void func( void **top )
{
 POINTER *get = (POINTER *)top;
 
 printf( "get[0].x.i[1] = %d\n", get[0].x.i[1] );
 printf( "get[0].x.i[4] = %d\n", get[0].x.i[4] );
 printf( "get[1].x.c[2] = %s\n", get[1].x.c[2] );
 printf( "get[1].x.c[5] = %s\n", get[1].x.c[5] );
 printf( "\n" );
}

※strdup関数はANSI-Cではないので同様な関数を自作しましょう。

★アドバイス
・最初に
 誤→topPointa = (void *) calloc (10 , sizeof(void *));
 正→topPointa = (void **) calloc (10 , sizeof(void *));
 
 誤→tchDataInput = (char * ) calloc (10 , sizeof(char *));
 正→tchDataInput = (char **) calloc (10 , sizeof(char *));
 ※chDataInputはchar**にすべきです。
 ※文字列型の配列をchar*の配列として表現するため。
>Voidポインタに、多種の型がぶら下がった多元配列を作り、
 ↑
 共用体を利用して実現できませんか。

例えば:
typedef str...続きを読む

Qカーステレオの取り付け方ご存じの方

こんにちは。ネットオークション等でカーステを買って付けようと思うのですが、昔からカセットデッキは取り付けしていたので分かるんですが、そこで何点か質問させて頂きます。
1.CDやMDデッキも専用のカプラー(私の車はトヨタですが)を購入すれば、配線は特に気にする必要は無いのでしょうか?
2.また、今までは1DINのステレオしか付けた事無いのですが、2DINタイプでも同様に取り付けすればよろしいのでしょうか?
3.1DINタイプを2つ(例えばCDデッキとMDデッキ)取り付ける場合は難しくなるのでしょうか?質問が漠然としていて申し訳ないのですが、どなたかご存じの方お教え下さい。よろしくお願い致します。

Aベストアンサー

>1.CDやMDデッキも専用のカプラー(私の車はトヨタですが)を購入すれば、配線は特に気にする必要は無いのでしょうか?
トヨタ製ならほぼ問題ないと思います。ただし車種や時期によってカプラーが異なるので、店頭カタログで確認してから買いましょう。

>2.また、今までは1DINのステレオしか付けた事無いのですが、2DINタイプでも同様に取り付けすればよろしいのでしょうか?
1DINでも2DINでも取り付けに影響はありません。2DINは1DIN二つ分の場所を占有するだけです。配線などは1DINと変わりません。様はでかいだけです。

>3.1DINタイプを2つ(例えばCDデッキとMDデッキ)取り付ける場合は難しくなるのでしょうか?
1DINよりは多少複雑になりますが、それでも常時電源やアクセサリー、イルミを二股にするだけです。
最近の配線キットなら2つ分は予め口が用意されているはずです。

これまで1DINデッキを取り付けた経験がおありでしたら、何も問題は無いと思います。

QオススメのANSI規格準拠コンパイラ教えてください!

オススメのANSI規格準拠コンパイラ教えてください!

C言語のプログラミングの練習をしているのですが、参考書によると、
ANSI規格準拠コンパイラが必要らしいのですが、
おすすめのANSI規格準拠コンパイラがあれば、教えてください。

できれば、無料がいいですね。

ちなみに(関係無いかもしれないけど...)

使っているのは、windows xp です。
やっているのは、C言語です。

回答、お願いします!

Aベストアンサー

 「ANSI規格」というものを文字通りに受け取ったら、C99を指すことになりますが、一般的な呼称としては歴史的な経過もあるので、国内ではC90を指してると受け取るのが妥当かと。

 C90より以前のCは国際的な標準規格がなされていません。
 C90はまずアメリカの標準規格(ANSI)として規格化されたもの(C89)が国際標準規格(ISO)として採用されたものですが、ANSIの規格化からISOの規格化までに時間が掛ってるので、その間にANSI-Cとして知名度が高まっていました。ISOに採用され、さらにJISに採用されてからもISO-CとかJIS-Cと呼ぶよりANSI-Cという呼び方の方が広く使われていました。(厳密にはANSIからISOに採用される過程で若干の変更が加えられていますので、ANSIのC90はISOから逆移入したものになっています)

 一方、C99はISO-CとしてのC90(というか、その改版版C95)からの改版なので、最初からISO-Cとしての認識がされています。まずISOで採用されたものがANSIやJISなどの各国の標準規格に採用されていますので、アメリカでANSI-Cといえば現在はこのC99を指すことになりますが、日本では基本的にANSIとは無関係なのでC99をANSI-Cと呼ぶことは(外資系の企業とかを除くと)まず無いと思います。C99を指すならISO-CとかJIS-Cと呼ぶことが普通です。

 厳密にバージョンを区別するのであれば、ANSIとかISOとかJISではなくC90とかC99できちんと示す必要があります。

 「ANSI規格」というものを文字通りに受け取ったら、C99を指すことになりますが、一般的な呼称としては歴史的な経過もあるので、国内ではC90を指してると受け取るのが妥当かと。

 C90より以前のCは国際的な標準規格がなされていません。
 C90はまずアメリカの標準規格(ANSI)として規格化されたもの(C89)が国際標準規格(ISO)として採用されたものですが、ANSIの規格化からISOの規格化までに時間が掛ってるので、その間にANSI-Cとして知名度が高まっていました。ISOに採用され、さらにJISに採用されてから...続きを読む

QスターターのJIS規格について

エンジンのスターターに『30秒以内』のJISの規定があるようです。

JISの番号を御存知であれば、教示をお願いします。

Aベストアンサー

 該当するのは、おそらく
D5004 自動車用スタータの定格出力
になります。
 1970/4/1制定で、1989/3/1廃止です。
 D5004の内容の一部は
D1607 自動車用スタータ試験方法(1951/10/31制定)
に移ったようですが、現在のD1607には30秒制限等が記載されていません。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング