Вам как раз-таки надо начинать с основ - принцип устройства и работы ОУ, схемы включения ОУ
Во-первых, входные сигналы ОУ в любом случае не должны превышать диапазона входных синфазных напряжений. То бишь, если сильно упрощенно напряжения на входах не могут быть выше положительного питания и ниже отрицательного питания. Если питание униполярное, то ниже потенциала общего провода. Есть в этом утверждении частности, но я и указал, что это грубое/упрощенное ограничение.
На рисунке 1 дифференциальное включение ОУ. Для данного включения напряжение питания ОУ
может быть ниже измеряемого напряжения. Потому что на входах ОУ есть делители, смещающие потенциал. На точность преобразования (усиления) влияют входные токи и напряжение входного смещения. Смещение усиливается пропорционально коэффициенту усиления ОУ. Также как и входные токи помноженные на номинал входных резисторов дают дополнительное смещение и тоже усиливаются.
LM358 для такой схемы подходит, но диапазон измерения токов вам нужно сильно урезать. Скажем 1А-10А, еще куда ни шло. Но при измерении в диапазоне 1 мА - 10А на такой схеме вы получите чудовищную погрешность внизу (на миллиАмперах).
На рисунке 2 схема преобразования напряжения в ток. Для данного включения в
общем случае положительное напряжение питания ОУ не может быть ниже измеряемого. Написал в общем случае, потому что есть специальные ОУ для таких измерений, которые допускают входные потенциалы выше напряжения питания. Поэтому для этой схемы нужен такой ОУ, который работал бы в том же диапазоне напряжений, что и диапазон изменения измеряемого напряжения. Причем как по входным сигналам (rail-to-rail), так и по напряжению питания.
LM358 для такой схемы подходит, но только если измеряемое напряжение БП будет ниже напряжения питания ОУ на величину ограничения синфазного напряжения (VCC-1,5В). Причем VCC тоже имеет ограничение по величине - 32В. Все это указано в
datasheet LM358.